Google
 

Trailing-Edge - PDP-10 Archives - 6.1_emacs_manuals_1er - emacs/babyl.:ej
There are no other files named babyl.:ej in the archive.
HW[0 +8+fq(+4)[1
0fo10f"g+q1'
+fq()+4u1
fq1"l 0'
,q1:m(q1+4(]1]0))]+ax2b*9b*Ab*Hb*Pb*Wb*b*fb*nb*ub*}b*b
`{XF!b*:YMEZ1OYabXYkb&qZxb3~bchoPp0q:uT%|1,}F2L9?~FiDLDSLY
`
{f
Lsz2eu.Vv5W<XFDXYLYMTZ-[Z1cZ3j[q\x]]v`>
6*) 2CMA"zL	pW
,cmsB
gc5-<7NF{Qa_pOJ|O	h
69(KJ9zFM^V- L,J;8hvASOK
^'>g=vus	sj1iU#*%g3Of<NH?LU.;anF{d>	b!|!T/.=s4=s84)G?7RG4dl(kWVuEIY`k(P=4HSAPPkjZQYtRS
EL#E<#LN#)Ly&2Mg&<NEN'ONB&XNU'bNlPk[dukj!	 f! x!!!*"!4"!?"6!I#
M"hh
"zTT#<#
e#"K#3S|#DRf#PZq#bT#pC7#~D$%SQ%&S%8e@%GF%Wv&%iY%|W&&n{&3Vd&>[&OYR&`&nZ+&{u+'d'bE'-wZ'9h'Jc='\U'h`'zS(g([(!V}(/i	(=To(Iee(Ue(dZ(t
`D+f-+.}+;9+X6+fl+w[M,pP,@,'r,2f^,?T,N;,#yBabylt7r~##Babyll8<~#>BabylP9a~ln<Space>##Babyll<Tab>#nBabyl&^T#EBabyle^X#sBabyl ^Z#xBabyl^[~#lBabylM^]#LBabyl^`~Babyl Macro Get& Babyl O Done Hook& Babyl R Done Hook & Babyl Resurvey One Message& Babyl Select Message& Babyl Set Mode Line& Babyl Survey One Message#& Babyl Survey Several Messages& Babylize Buffer& Babylize Digest Contents& Bounds Of Header& Bounds Of Original Header& Calculate Message Number& Check Message Label& Complete TNX Header& Compressed BABYLM Library & Convert Babyl File Version!& Estimate Mail-Line Category& Expand Mailing Lists & Find Digest Dash Separator& Form Header& Get Labels for Survey& Initialize Babyl Buffer& ITS Mail Buffer& ITSify TNX Mail!& Jump To Current Survey Line& Label Babyl Message& Label Map Command& Mail Message& Make Babyl Label Table& Map Over Labeled Messages& Parse Header& Process Recipient Field& Push Message& Push To Buffer& Push To Edit Mail& Read Babyl File& Read Babyl Label& Reform Header& Reformed Bit& Remove Basic Label& Reset Babyl Options& SetUp BABYL Library& Setup BABYLM Library& Setup Reply Template& Survey-Select Message& SvMenu ^RNormal Macro& TNX Mail Buffer& Use Babyl Label Table<ENTRY>	BabylConvert Babyl File VersionCreate Babyl FileDelete Labeled MessagesEdit and Mail BufferEdit Labels ListLabel Labeled MessagesLabel Message$Label Messages Containing StringMail With TemplateNext Labeled MessageOutput Labeled MessagesRemind Me Of This MessageSet Mail Template3Shorten From Field For Stupid Local Mail ReaderSurvey All MessagesSurvey Deleted MessagesSurvey Labeled MessagesSurvey Menu%Survey Messages Containing StringSurvey ModeSurvey RemindersSurvey Seen MessagesSurvey Unlabeled MessagesSurvey Unseen Messagesthe Babyl HelperUnDelete Labeled MessagesUndigestify Babyl Message^R Babyl Add Cc-Recipient^R Babyl Add Subject: Field^R Babyl Add To-Recipient^R Babyl Delete Recipient^R Babyl Yank ^R Fill Indented Mail Region^R Survey Menu T^R SvMenu Argument~DIRECTORY~~DOC~ # Argument Part~DOC~ # Babyl '~DOC~ # Babyl ( ~~DOC~ # Babyl ) ~~DOC~ # Babyl * ~~DOC~ # Babyl + ~~DOC~ # Babyl , ~~DOC~ # Babyl - ~~DOC~ # Babyl .~DOC~ # Babyl / ~~DOC~ # Babyl 0 ~~DOC~ # Babyl 1 ~~DOC~ # Babyl 2 ~~DOC~ # Babyl 3 ~~DOC~ # Babyl 4 ~~DOC~ # Babyl 5 ~~DOC~ # Babyl 6 ~~DOC~ # Babyl 7 ~~DOC~ # Babyl 8 ~~DOC~ # Babyl 9 ~~DOC~ # Babyl ;~DOC~ # Babyl <Altmode>~DOC~ # Babyl <Backspace>8~DOC~ # Babyl <Digit>, <Comma>, +, -, *, /, (, and )~DOC~ # Babyl <Linefeed>~DOC~ # Babyl <Return>~DOC~ # Babyl <Rubout>~DOC~ # Babyl <Space>~DOC~ # Babyl <Tab>~DOC~ # Babyl =~DOC~ # Babyl ?~DOC~ # Babyl A~DOC~ # Babyl B~DOC~ # Babyl C~DOC~ # Babyl D~DOC~ # Babyl E~DOC~ # Babyl F~DOC~ # Babyl G~DOC~ # Babyl H~DOC~ # Babyl I~DOC~ # Babyl J~DOC~ # Babyl K~DOC~ # Babyl L~DOC~ # Babyl M~DOC~ # Babyl N~DOC~ # Babyl O~DOC~ # Babyl P~DOC~ # Babyl Q~DOC~ # Babyl R~DOC~ # Babyl S~DOC~ # Babyl T~DOC~ # Babyl U~DOC~ # Babyl V~DOC~ # Babyl W~DOC~ # Babyl X~DOC~ # Babyl Y~DOC~ # Babyl Z~DOC~ # Babyl \~DOC~ # Babyl ^C~DOC~ # Babyl ^D~DOC~ # Babyl ^F~DOC~ # Babyl ^H ~~DOC~ # Babyl ^I ~~DOC~ # Babyl ^J ~~DOC~ # Babyl ^L~DOC~ # Babyl ^M ~~DOC~ # Babyl ^N~DOC~ # Babyl ^O~DOC~ # Babyl ^P~DOC~ # Babyl ^R~DOC~ # Babyl ^S~DOC~ # Babyl ^T~DOC~ # Babyl ^X~DOC~ # Babyl ^Z~DOC~ # Babyl ^[ ~~DOC~ # Babyl ^]~DOC~ # Babyl ^` ~~DOC~ # Babyl |~DOC~ & Add Basic Label ~DOC~ & Add to Labels Option#~DOC~ & Append to TNX Mail File$~DOC~ & AutoLabel Subject Labels~DOC~ & Babyl --MORE--~DOC~ & Babyl Add Recipient~DOC~ & Babyl Append"~DOC~ & Babyl Delete Recipient!~DOC~ & Babyl Execute Options~DOC~ & Babyl Expunge$~DOC~ & Babyl Get Message Labels~DOC~ & Babyl Macro Get~DOC~ & Babyl O Done Hook~DOC~ & Babyl R Done Hook&~DOC~ & Babyl Resurvey One Message ~DOC~ & Babyl Select Message~DOC~ & Babyl Set Mode Line$~DOC~ & Babyl Survey One Message)~DOC~ & Babyl Survey Several Messages~DOC~ & Babylize Buffer$~DOC~ & Babylize Digest Contents~DOC~ & Bounds Of Header%~DOC~ & Bounds Of Original Header$~DOC~ & Calculate Message Number~DOC~ & Check Message Label~DOC~ & Complete TNX Header%~DOC~ & Compressed BABYLM Library&~DOC~ & Convert Babyl File Version'~DOC~ & Estimate Mail-Line Category ~DOC~ & Expand Mailing Lists&~DOC~ & Find Digest Dash Separator~DOC~ & Form Header!~DOC~ & Get Labels for Survey#~DOC~ & Initialize Babyl Buffer~DOC~ & ITS Mail Buffer~DOC~ & ITSify TNX Mail'~DOC~ & Jump To Current Survey Line~DOC~ & Label Babyl Message~DOC~ & Label Map Command~DOC~ & Mail Message"~DOC~ & Make Babyl Label Table%~DOC~ & Map Over Labeled Messages~DOC~ & Parse Header#~DOC~ & Process Recipient Field~DOC~ & Push Message~DOC~ & Push To Buffer~DOC~ & Push To Edit Mail~DOC~ & Read Babyl File~DOC~ & Read Babyl Label~DOC~ & Reform Header~DOC~ & Reformed Bit~DOC~ & Remove Basic Label~DOC~ & Reset Babyl Options~DOC~ & SetUp BABYL Library ~DOC~ & Setup BABYLM Library ~DOC~ & Setup Reply Template!~DOC~ & Survey-Select Message!~DOC~ & SvMenu ^RNormal Macro~DOC~ & TNX Mail Buffer!~DOC~ & Use Babyl Label Table~DOC~ <ENTRY>~DOC~ Babyl$~DOC~ Convert Babyl File Version~DOC~ Create Babyl File!~DOC~ Delete Labeled Messages~DOC~ Edit and Mail Buffer~DOC~ Edit Labels List ~DOC~ Label Labeled Messages~DOC~ Label Message*~DOC~ Label Messages Containing String~DOC~ Mail With Template~DOC~ Next Labeled Message!~DOC~ Output Labeled Messages#~DOC~ Remind Me Of This Message~DOC~ Set Mail Template9~DOC~ Shorten From Field For Stupid Local Mail Reader~DOC~ Survey All Messages!~DOC~ Survey Deleted Messages!~DOC~ Survey Labeled Messages~DOC~ Survey Menu+~DOC~ Survey Messages Containing String~DOC~ Survey Mode~DOC~ Survey Reminders~DOC~ Survey Seen Messages#~DOC~ Survey Unlabeled Messages ~DOC~ Survey Unseen Messages~DOC~ the Babyl Helper#~DOC~ UnDelete Labeled Messages#~DOC~ Undigestify Babyl Message#~DOC~ ^R Babyl Add Cc-Recipient%~DOC~ ^R Babyl Add Subject: Field#~DOC~ ^R Babyl Add To-Recipient#~DOC~ ^R Babyl Delete Recipient~DOC~ ^R Babyl Yank&~DOC~ ^R Fill Indented Mail Region~DOC~ ^R Survey Menu T~DOC~ ^R SvMenu Argument~DOC~ ~FILENAME~~FILENAME~
~INVERT~	BABYLo0fo..qBABYL Loaded-11784349574"n
0m.CSubDocIf non0, command documentation mentions subroutine use
0m.CBabyl Setup HookIf non0, is run immediately after loading Babyl library
0m.CBabyl Standalone JobNon0 means will exit to DDT/EXEC
0m.CUndigestify Keep Digest* Describe M-x Undigestify Babyl Message for details on values
@:i*||m.CBabyl F Default
@:i*|FOO TXT|m.CBabyl ^O Filename
0m.CSurvey Quietly
1m.CBabyl A Mode Display* Non-0 lets A update mode line
0m.C*Survey* Buffer
3m.CBabyl Survey FROM/TO Control* Bits, 1 = enable prettification, 2 = shorten hosts, 4 = no hosts
1m.CBabyl N After D* Non-0 tells D to do automatic N
0m.CFrom:
0m.CSubject:
0m.CBabyl CC To* Automatic CC field in mail if non-0
0m.CBabyl F Done Hook0 or a Teco program to run after F successfully exits
0m.CBabyl F Hook0 or a Teco program to run after F sets up its template
0m.CBabyl F Control* 0 (general edit), 1 (read To/Re then edit), 2 (read To/Re and send)
@:i*|--Text follows this line--|m.CBabyl Header/Text Separator* 1 line that separates header and text in recursive mail edit
0m.CBabyl G Done HookUser hook, run (if non0) after new mail is collected;
	argument is number of new messages
0m.CBabyl Filenames
0m.CBabyl O Filename
@:i*||m.CBabyl K Text
0m.CBabyl O Done HookIf non-0, run when O is done
0m.CBabyl R Done Hook0 or a Teco program to run after R successfully exits
0m.CBabyl R Hook0 or a Teco program to run after R sets up its template
0m.CReply-to:
0m.CTo:
0m.CCc:
1m.CBabyl Trim Recipient List* 0 will disable all removal of reply recipients
@:i*||m.CBabyl Dont Reply To* 0 or a Teco search string of CCs to remove (null means yourself)
@:i*||m.CBabyl Modified Messages
@:i*|-2"e m6unseenw'|m.CBabyl Command Hook0 or Teco program to run at times in command execution.
	Its arg tells situation:
	  In normal Babyl com loop (Q0 has com char, Q5 has arg string):
		1 before display, 2 after,
		3 before com, 4 after.
	  In survey menu (Q..0 has com char):
		5 before com, 6 after.
	  7 when entering SvM level (so you can bind things).
@:i*|:|m.CBabyl Suppressed HeadersList of items you do not want to see in header display.
	   It should start and end with colons, and the header items
	   are separated by colons.
0m.CParsed Message Number
0m.CDate:
0m.CFrom-the-terminal-of:
0m.CSender:
0m.CMessage-id:
0m.CKeywords:
0m.CIn-Reply-to:
0m.CRedistributed-To:
0m.CRedistributed-By:
0m.CRedistributed-Date:
0m.CRegarding:
0m.CMSG:
0m.CMail-from:
0m.CRcvd-Date:
0m.CUnknown:
0m.CBabyl Punt Missing HostsNon-zero speeds up reformation process
0m.CBabyl Autolabel Messages* Non-0 causes autolabeling from subject fields
0m.CMessage Number
0m.CNumber of Babyl Messages
@:i*|RemindNow|m.CBabyl Last | Label
@:i*||m.CBabyl Labels Option
0m.CCRL List
0m.CCRL Prefix
0m.CWindow 1 Buffer
0m.CWindow 1 Pointer
0m.CWindow 2 Buffer
0m.CWindow 2 Pointer
0m.CBabyl C Hook0 or a Teco program to run after C sets up its template
0m.CCurrent Babyl Template Name0 or name of template in use
0m.CBabyl M Hook0 or a Teco program to run after M sets up its template
0m.CBabyl Edit Mail Hook0 or a Teco program to run before recursive edit on mail to send
0m.CBabyl Require Subjects* If non-0 Babyl will require you to have a subject in outgoing mail
0m.CPre-*Mail* Buffer
0m.CWindow 1 Size
0m.CBabyl Day of Week Flag* If non-0 day of week is added to Date field of outgoing mail
0m.CBabyl Personal Name* A full name to use with user name as in Personal Name <ME at HERE>
0m.CBabyl User Name* A name to use in From field possibly overriding username
0m.CBabyl ..D
1m.CBabyl Strip Local Host* Non-zero removes local host from reformed header
11784349574m.vBABYL Loaded'
m(m.m& SetUp BABYLM Library)
qBabyl Setup Hookf"n[1 m1'w
	m(m.m& Push to Buffer)*Babyl*
1f[^RMore
fsZ"e
m(m.mText Mode)
1f<!Non-Empty!
      1f<!Babyl-Catch!
:i*,m(m.m# Babyl I)
f;Non-Empty >
 >
'
"# @ftReentering temporarily exited Babyl...
   0fsEchoActivew
f*'
"'nuBabyl Standalone Job
fs^RMode"n :m(m.m& Babyl Execute Options)'
@:i*|	f]^REnter
m(m.m& Babyl Execute Options)
fs^RExit
| f[^REnter

[U[Y[1[2[3 f[DFile fsXUName:f6uU
1f[FNamSyntax
m.m& Yes or NouY
fsHSnamefsDSNamew
etU BABYL
fsOSTeco"n 1fsDVersionw'
 f"ew 1m(m.m& Read Filename)Babyl filenamef"ew''u3
 et3 fsOSTeco"N 1fsDVersionw' fsDFileu3
ftCreating Babyl file 3.
Typical (and safe) answers to questions will be shown inside brackets,
    as in: [Y].


 e?"e ftClobber existing 3 [N]? 
       mY"e ftAborted. 0''

 fsOSTecof"ew etDSK:U MAIL'
"#-1"e etDSK:MAIL.TXT.1'
"# etDSK:MESSAGE.TXT;1''
0u2
ftIs there an incoming-mail file [Y]?  mY"n
1m(m.m& Read Filename)Mail filenameu2'
fsUWrite"n e\ fne^'
f[BBind
iBABYL OPTIONS:
Version:5


 q2"n et2 iMail:  g(fsDFile) i
'
0[3
ftDo you want new mail to be appended to the end (rather than inserted
    at the beginning) of the Babyl file [Y]?  mY"n 1u3 '
 1[4
q2"n
fsOSTeco"e
     ftDo you tell Comsat (R-OPTION APPEND) [N]?  mY"e 0u4 ' '
   q3-q4 "n
     ftDo you want the incoming new mail reversed to
       be consistent with the BABYL file [Y]?  '
     "# ftDo you want the incoming new mail reversed to make
          it inconsistent with the BABYL file [N]?  '
   mY"n q3+2u3 ' '
 fsOSTeco"e 0 '"# 2 ' -q3"n
iAppend: q3\ i
'
  ]4]3

 fsOSTeco"n
ftDo you want an XMail file, which gets copies of all incoming mail as it
    is added to the Babyl file [N]? 
    mY"n etXMAIL.TXT m(m.m& Read Filename)XMail filenamef"nu2
iXMail: et2 g(fsDFile) i

	    ftDo you want mail appended to the XMail file [Y]? 
	    mY"n iXMail Append

	      ''''
ftIs there an owner for this Babyl file [Y]?  mY"n
    1,m(m.m& Read Line)Owner user name (u): f"nu2
	fq2"e quu2' iOwner:2
''

 ftHeader can be reformatted to look better and not show redundant or useless
    fields, and missing host names will be added so other commands will work
    better, e.g. the reply and forward commands.
Do you want headers to be reformed [Y]? 
 mY"e iNo Reformation
'"# ftIn general the old headers are saved, so the 1H command can show them.
Should original headers be discarded [N]?  mY"N iNo Original
''

i
0, recent, unseen,,
*** EOOH ***
Date:  fsDATEfsFDConvertw i
From: BABYL at  1:<fsMachinef6>"n iHere' i
To:   U
Re:   New Babyl file

This is a sample message in the new Babyl file.
Feel free to delete it.


 et3
eihpef
fsOFileu1 @ft
Written: 1
 0fsEchoActivew
[0[1[2[3[4[5[6[7[8[9
 [Fill Column qFill Columnu6
f[VB f[VZ
m.m^R Back to Indentationu3
m.m^R Delete Horizontal Spaceu4
m.m& Estimate Mail-Line Categoryu5
m.m^R Fill Regionu8
m.m^R Indent Rigidlyu9
.,(:)ffsBoundw
hm(m.m& Save for Undo)fill
5*5fsQVector[..u @fn|q..ufsBKillw|
j 0l .u0
q0f(:\u0 fn0jw )u0
.( zj 0f"n
i
'
)j
<  .-z; 0l
m5"n l !<!>'
:f"e l !<!>'
@m3
fsSHPosu1
@m4w
< l m5:@;
@m3
:f@;
fsSHPos-q1"e
0:k @m4w i  !<!>'
0; >
0l .: -l
q6-q1uFill Column
@m8w
.-z( q1m9w )+zj
>
q0j
<  :s:: Re: ; .u7
:l fsSHPos-q6"g
q7j -4d i
Subject: 
-l m3 fsSHPos(l), i' >
z:
q0,z s[0 0f[vbw f[vzw
0l 0,1a-"e 2'
-4f=
"e 2'
1:fsBoundw
qBabyl ..D[..d
:g..du..d
:*5:f..d 
1:<fwl>"n j oLast'
(-1,1a-:)*(-1,1a-@)"e j 1'
0l @f	 l
12f=MESSAGE FROM"e j -1'
13f=[MESSAGE FROM"e j -1'
:ff~*** EOOH ***"e j 2'
qBabyl Header/Text Separatoru0
:ff~0"e j 2'
!Last!
@f	 l
:f"n @f-_l :f"e j 2''
j 06[l[d

 m(m.m& Bounds of Header)w
@f 	
l
.,(fb	  r).xl
m.m& Find Digest Dash SeparatoruD
65,75mD"e
:i*Bad Digest formatFSErr'
f:m(m.m& Babylize Digest Contents)rf[SString [1
,-:i1
0s
1
fu1
<  :s"e 0'
q1,z-.f:u1w
q1@f-l
@f	 l
.-(:l .)@;
>
1l -1[0[1 [b[t
 .-b[p
qNumber of Babyl Messages
:itTo: l at MIT-MC

b,zm(m.m& Save for Undo)undigestify
ff&2"e
qUndigestify Keep Digest' "# 'u1
q1"n
hx0 bj g0 i

%nw
q1-1"e
.(q1"l z' "# b'j
m(m.m& Add Basic Label)deletedw
)j'
q1"l 4r fsZ-.fsVZw'
"# .fsVBw
%Message Numberw''
b+qpj
f[vb
fsbconsub
f<!Msgs!
    @f
	 L
.-z;
i
0, recent, unseen,,
*** EOOH ***

%nw
.-21fsvb
:fb@:+2"e
:s


 
	+1"l
@f 	l 13,1a-13"e
0k'
"# 0li
'''
1:< 0m(m.m& Parse Header)
>"n
j 2lit
'
"# qb[..o gTo: gCc:
j :sl (
hk ]..o
)"e
j 3l gt''
< 27,33md"e f;Msgs'
-:l.,(0l).@f 	(2l)@; >
>
qbfsbkill
qnuNumber of Babyl Messages
0uParsed Message Number
:iBabyl Modified Messages
fq*Survey* Buffer"g
q*Survey* Buffer[..o
hk 0fsModifiedw 0fsXModifiedw
]..o '
f]vb j
:m(m.m& Babyl Select Message)fsOSTeco"e :i*Only intended for TNX fsErr'
 z-.[1
bj :s
From:"l 0lk'
.,(iFrom:  g(fsHSName:f6) i
   ).f
z-q1j 1fm(m.m& Push Message)
 ff"n 1m(m.m# Babyl J)w'
9999 m(m.m& Babyl Survey Several Messages)
em(m.m& Push Message)
 ff"n 1m(m.m# Babyl J)w'
9999m(m.mSurvey Labeled Messages)unseen
 fm(m.m& Push Message)
 ff"n 1m(m.m# Babyl J)w'
9999m(m.mSurvey Labeled Messages)deleted
 im(m.m& Push Message)

 ff"n 1m(m.m# Babyl J)w'
9999m(m.mSurvey Unlabeled Messages)unseen
 x[1[2[3
 m(m.m& Use Babyl Label Table)
8+2,fSurvey unlabeled with: u2
m(m.m& Push Message)
m.m& Babyl Survey Several Messages
m.m& Babyl Select Message
m.m& Maybe Flush Output
fq2"e	@:i2| fb 1a-13 |
@:i3| 0s,, |'
"#	@:i3| 0s, 2, |
@:i2| :fb |'
0,0mBw
0,(fsZ)fsBoundariesw
ff&1"e j 0u1'
"# qMessage Numberu1'
ff&1"n '<
mf1;
0fsVZw
m3
< @:fl c .-z;
1a-
"n !<!>'
%1w
l m2@; >
.-z;
q1uMessage Number
mS
1,mBw
zj >
fsListen"e ftDone.
'
[0 1,fSurvey messages containing string: f"e'u0
m(m.m& Push Message)
m.m& Babyl Survey Several Messages
m.m# Babyl ^F
m.m& Maybe Flush Output
0mB
ff"n 1m(m.m# Babyl J)w'
0fsVBw -:sw
<  mA1;
q0,1mF;
1,mBw
zj >w
fsListen"e ftDone.
'
100000.fsExit
 -1,(f) :m(m.m# Babyl D)[0[1[2
 ff&2"n u0'
"# qBabyl F Defaultu1
ff"n :\u2 :i22 '"# :i2'
1,m(m.m& Read Line)2Find (Default "1"): u0 !''!
fq0"l '
fq0"n q0uBabyl F Default'"# q1u0'
'
0f[vb 0f[vz .u1 @fn| q1j |
"l -':s
:s0"E
ff&2"N 0'
:i*Not foundf;Babyl-Command-Abort'
]..N ]*w ]*w
m(m.m& Babyl Select Message)
m(m.m& Calculate Message Number)
ff&2"N -1'&f @m(m.m^R Previous Screen)w
 h[0[1
 m(m.m& Bounds Of Header):jw
.u1 fnq1j
.f[VB :s"l r'"# zj' fsZ-.f[VZ
hm(m.m& Save for Undo)character fix
j <:s
   ; rd
fsHPosu0
i
   q0, i r >
j <:s; 0f-1"g -2d'>
j <  :s
;
-d i
     >
@.[0[1
m.m# Babyl ^N
m.m& Check Message Label
qMessage Numberu1
f<!Babyl-Command-Abort! 1mN MCunseen@:; >"E '
q1m(m.m# Babyl J)
:i*No more unseen f;Babyl-Command-Abort
f+ E-[1
< 0fsVZw
:s
;
m(m.m& Babyl Select Message)
%Message Numberw
%1; >
q1"n m(m.m& Babyl Select Message)
-1"n :i*Now at end, no next message '(
) f;Babyl-Command-Abort '
Y[1 qBabyl ^O Filenamef"ew'f[DFile
5,fAdd message tou1 et1
fsDFileuBabyl ^O Filename'
e[ e\ fn e^ e]
q..ou1  f[BBind
g1
 :s
Re:

+1"e @f l 0k iSubject: '
:m(m.m& Append to TNX Mail File)-[1
qMessage Number-1<
0fsVBw
-:s;
1:<m(m.m& Babyl Select Message)
>@:;
qMessage Number-1uMessage Number
%1; >
q1"n 1:< m(m.m& Babyl Select Message)
>"n 1m(m.m# Babyl J)'
:i*Now at top, no previous message f;Babyl-Command-Abort'
c[0[1[2 [3[4
fsVB[3 fsVZ[4
1fsModeChangew 0f[^RMore 
qMessage Number:\u0
:fo..qBabyl Modified Messagesu2
q:..q(%2)u1
:i:..q(q2)10M0

fsVB-q3"E fsVZ-q4"E q3+q4"N  '''
m(m.m& Initialize Babyl Buffer)
[1
 20:"e
:i*CfsEchoDisplay
@ftKind of survey (A,D,L,M,R,S,U, or ?): '
<  2,m.i fi:fcu1
q1-:@; >
fsRGETTY"e ft
'
(q1-"'e)(q1-A"'e)"n
f:m(m.mSurvey All Messages)'
(q1-"'e)(q1-D"'e)"n
f:m(m.mSurvey Deleted Messages)'
(q1-
"'e)(q1-L"'e)"n
fm(m.mSurvey Labeled Messages) '
(q1-(q1-M"'e)(q1-"'e)(q1-F"'e)"n
f@:m(m.mSurvey Messages Containing String)'
(q1-"'e)(q1-R"'e)"n
fm(m.mSurvey Reminders) '
q1-S"e
f:m(m.mSurvey Seen Messages)'
(q1-"'e)(q1-U"'e)"n
f:m(m.mSurvey Unseen Messages)'
q1-?"e m(m.mDescribe)# Babyl ^S
f:m(m.m# Babyl ^S)'
(q1-177."'e)(q1-"'e)"e fg' $:@m(m.m^R Display Load Average)W:i*CfsEchoDisplayw
qBabyl Standalone Job"e f;Babyl-Catch'
100000.fsExitw (f@m(m.m^R Execute Minibuffer)w
 fsRGETTY"n 1:<f @m(m.m^R Next Screen)>w '
ft

ff"n .,(l).t
m(m.m& Babyl --MORE--)'
"# .,zt
zj -2f=
"n   ft
''
J"l 2[Survey Quietly
@m(m.m# Babyl ^S)'
"# f':m(m.mSurvey Menu)(qMessage Number:\[1
:i551 04[..J :I..JBabyl-Shhh
 m(m.m& Read Line);u3 = :i550 0a<1m(m.m# Babyl N)
    qBabyl A Mode Display"n
1fsModeChw fr'
@m(m.m# Babyl B)
>
 #ff-2"l fm(m.m& Babyl Survey Several Messages)'
"# ff-3"e m(m.m& Push Message)
m(m.m# Babyl J)
(-+1)m(m.m& Babyl Survey Several Messages)
''
 H[1[7[8[9 qSurvey Quietly[2
.u7 @fn|0,fsZfsBoundw q7:j"e zj' m(m.m& Babyl Select Message)| [7[..o
0fsVBw -s
 l .fsVBw
-1f[Truncate
q..ou9
q*Survey* Bufferu8
q8fp"n
[Previous Buffer
m(m.mSelect Buffer)*Survey*
q..ou*Survey* Buffer
q..ou8
m(m.mSelect Buffer)'
q8u..o
q2&1"e hk :iBabyl Modified Messages'
q9u..o
fsZ-z"e :i*C fsEchoDisplayw @ftNo Messages
	  0fsEchoActivew q8u..o 0fsXModifiedw 0fsModifiedw '

 qMessage Numberu7
m.m& Get Labels for Survey
m.m& Babyl Survey One Message
ff&1"e 1'"# q8u..o i No. Lines        From->To        Subject or Text
 q2&2"e -t'
'<
q2&2"e fsListen"n :fi-32"n 1;'''
q9u..o j
s
*** EOOH ***
   2r .fsVBw
q8u..o 3,q7\
q9,q8mX
q2&2"e -t'
!DEL!
q9u..o zj
0,(fsZ)fsBoundw
4f=
:@;
%7w
l .,(sr). fsBoundw
>

 q2&2"e
fsListen"n :fi-32"n ftFlushed.
	1fsFlushedw''
"# -1"g ftDone.
     '''
q8u..o 0fsXModifiedw 0fsModifiedw
j[0[1[2[3[4[5 [7
 u..o
mku7u0
-u1 <.-z;%1wl>
u..o q0i 5,q1\
0u0 0u3 0u4 0u5
u..o jl
4f=MSG:"e l
<	8f~DISTRIB:@:;
8c @f	 l 1:x4 l >
<	8f~EXPIRES:@:; l >
'
1:fb@:f"ew u..o i ???
oCGM' +1"e
:s "e u..o i ???
oCGM' r 0x3
:fb Re: "l 1:x5'
l 4f~TO: "e 4c 1:x4 l'
< 4f~TO: @:; l>
< 4f~CC: @:; l>
0l .u0
'
"#
:s

"l 2r .u0
'"# zj' fsz-.f[vz
j < :s
From; @f	 l 1a-:"n !<!>'
c @f	 l 1:x3 1;
>
	j < :s
To; @f	 l 1a-:"n !<!>'
c @f	 l 1:x4 1;
>
	j < :s
Subject
Re;	    @f	 l 1a-:"n !<!>'
c @f	 l 1:x5 1;
>
	f]vz
'
u..o i   .u1 q3"n g3' !<!i-> q4"n g4'
qBabyl Survey FROM/TO Control[9
q9&1"n
q1j <[5 >[6
< @f,-6l .u2
@:f,65l .-z;
1a-q5"e
q2,.kd
@:f6l .-z;
d'
>
q1j 0s(BUG  <:s; BUG- ful -d >
q1j < @:f(l .-z; flk -@f	 k >
q1j 0s,  < :s; -d >
q9&4"n
q1j 0s at @ <:s; fkc @:f,6f(l0,1a-q6"e-1')k>'
"# q9&2"n
q1j 0s at  < :s; @ >
q1j 0s@MIT-Multics < :s; @MUL >
q1j 0s@MIT- <:s; -4d >
fsOSTeco"e q1j 0s@AI@MC@ML@DMS@DM <:s; fkd >'
"# q1j fsMachine:f6[2 0s@2 <:s; fkd > ]2'
q1j 0s@USC-ISI <:s; -3c-4d >
q1j 0s@CMU-10 <:s; -3D >
''
fsXUname:f6u2 zj i 
q1j < r :s2; r -fq2d
1a-@"E <@:f,- k 1a--@:; q6,2a-q6@; d>'>
]6]5
'
zj -d 33-(fsHPos)f"l d'"# ,32i'
i 7
q5"e q0"n
u..o 0fsZw q0j
< @f
	 l .-z;
fw+1af@:-:; :l >
.-z"e q0j @f
	 l'
:x5
u..o''
q5"n g5'
0fsHPosition-(fsWidth-2)f"g,0d i!'w
!CGM!
u..o i

.[0[1[2[3[4[5
3,:\u1 j:s
1"e q0j '
qB[..o mJ
0fsVBw -s
 l .fsVBw
mku2u1
s
*** EOOH ***

.(0u3 <.-z;%3wl>)j
4f=MSG:"e l
<	8f~DISTRIB:@:; l >
<	8f~EXPIRES:@:; l >'
0u4
1:fb@:f"ew 
'+1"e
:fb Re: "l 1:x4' l
< 4f~TO: @:; l>
< 4f~CC: @:; l>
0l .u5
'
"#
:s

"e	  zj' .u5
< -:s
Subject
Re;
fkc @f	 l 1a-:"n 0l !<!>'
c @f	 l :x4 1; >
'
q4"e q5j
< @f
	 l .-z;
fw+1af@:-:; :l >
.-z"e q5j @f
	 l'
:x4'
qSu..o 0l
4c 0a-q1"n -d q1i -1f'
@f l \-q3"n -5d 5,q3\ -5f'
0,34:fm
:fx1
.( g2 g4
0fsHPosition-(fsWidth-2)f"g,0d i!'w
)j
:ff=1f"nf"l*(-1)'cr :ff'w
@ff&1"n m(m.m# Babyl J)'
m(m.m& Add Basic Label)deleted"n @ft
(Already deleted.) 
0fsEchoActivew'
ff&1"n 1u..h'
ff&2"e
qBabyl N After D"e '
1'"# ',1:m(m.m# Babyl N)m(m.m& Babyl Expunge)
1m(m.m& Initialize Babyl Buffer)
qNumber of Babyl Messages"e
ftBabyl file has no messages left.  Want to exit? 
m(m.m& Yes or No)"n @:m(m.m# Babyl Q)'
ftOK, pick another Babyl file.
@:m(m.m# Babyl I)
'
:m(m.m& Babyl Select Message)5[0[1[2[3[4[5
 ff&1"n 0'"# qBabyl F Control'u2
:i*To continue editing this message use the C command.(
    )[Abort Resumption Message
.(1m(m.m& Parse Header)w)j
fsQPPtr(
-2"'e,1m(m.m& Push To Edit Mail)
hk iTo:  .u3
0fsWindoww
q2"g 1,m(m.m& Read Line)To: f"ew 'u1 g1'
i

qBabyl CC Tof"nu1 icc: 1
	'w
qFrom:u1 fq1"g
iRe: 1
fsQPPtr( fsBConsu4 @fn|q4fsBKill|
:i*,q4m(m.m& Process Recipient Field)Re
q4[..o j @:f@x1
)fsQPUnwindw
0lk i[1: '
"# i[Who?: '
qSubject:u1 fq1"g .(g1)j :l .,zk i]'
"# iforwarded]'
0fx1
q2"g 1,m(m.m& Read Line)Re: (1): u4
fq4"n q4u1''
fq1"g iRe: 1
	  '
gBabyl Header/Text Separator i
   q2"g .u3'
j 0u1 < .-z; %1w l >
.fsWindoww
.( 1,4@m(m.m^R Babyl Yank)w
)j q2"e q1@:f'
x1
q3j
qBabyl F Hookf"nu0 fm0'w
q2-2"l m(m.mEdit and Mail Buffer)'
"# fsOSTeco"e m(m.m& ITS Mail Buffer)'
"# m(m.m& TNX Mail Buffer)''
j :s
1"l fkc l .u1 0u0 j <l %0w .-q1;>
fsTopLine+q0fs^RVPosw  q1j q2"e 0@:f''

    )fsQPUnwindw
qBabyl F Done Hookf"nu1 m1'w
:[2[3 f[DFile
qBuffer Filenamesu3
qBabyl Mail Optionu2
q2fp"g 0,(,f2f"lw fq2'):g2u2'"# 0u2'
ff&1"e
q2"e m(m.m& Initialize Babyl Buffer)w '
et2 fsDFileu2
'
"# q2"n et2'
1m(m.m& Read Filename)Mail filef"ew'u2
et2 fsDFileu2
0u3'
@fn| bf"nw1'*(m(m.m& Initialize Babyl Buffer))u1
qBabyl G Done Hookf"nu2 q1m2'w |
0,fsZfsBoundw
qBabyl Append Option&1"n zj
-@f
	 d
0a-"n :i*Babyl bug: no ^_ at end of filefsErr
i''
"# j s'
q3"e
.,.fsBoundw fn hk 
1:< er @y >w
:f~BABYL OPTIONS:"e
1,m(m.mConvert Babyl File Version)w
j :s b,.k'
"# :f~*APPEND*"e k''
14.,1a-14."n m(m.m& Babylize Buffer)'
0u..n
j '
fsXUName:f6u1
e?[BABYL 1"e fsDFileu1
:i*1 has mail from a previous Babyl crashfsErr'

 q2fsDFilew
e?"n @ft(No new mail) 0fsEchoActivew '
enABYL 1
.,.fsBoundw
e[fne]
fn hk 
:i*AReading Mail file 2fsEchoDisplayw
 er fsIFileu2
@y @ft

qBabyl XMail Optionf"n u1
e?1"N et1 eief '
qBabyl XMail Append Option"n
:i*AAppending to XMail filefsEchoDisplay
     q1m(m.m& Babyl Append)"e
bj er1 fy
-@fk 0,0a-14."e -d'
eihpef
b,.k'
fsOFileu1
@ft 1
    0fsEchoActivew'
"#
      :i*APrepending to XMail filefsEchoDisplay
      zj er1 @a
eihpef
.,zk
fsOFileu1
@ft 1
     0fsEchoActive''w
:f~BABYL OPTIONS:"e 1,m(m.mConvert Babyl File Version)w
j:s b,.k'
"# :f~*APPEND*"e k''
14.,1a-14."n
m(m.m& Babylize Buffer)' j
qBABYL Append Option&2"n
  -.  :s$w '
0u..n
qBabyl Append Option&1"n
:i*AAppending to Babyl filefsEchoDisplay
q3m(m.m& Babyl Append)"n
@ft 3
	0fsEchoActivew'
"#	m(m.m# Babyl S)''
"# m(m.m# Babyl S)'
ed2
)[1[2
0,(fsZ)fsBoundw
m(m.m& Reformed Bit)"n
m(m.m& Bounds Of Original Header)u2u1
q1,q2x1
fq1"e m(m.m& Babyl Select Message)
:i*No original header f;Babyl-Command-Abort'
:g1u2 0u2
m(m.m& Bounds Of Header)k
g1'
ff"e
m(m.m& Reform Header)'
m(m.m& Babyl Select Message)
[1 0[2 [3
1f[FnamSyntax
etDSK:
fsHSname fsDSnamew
fsXUname:f6u1 et1 BABYL
fsOSTeco"n 1fsDVersionw'
ff&2"e
0[Buffer Filenames
4m(m.m& Read Filename)Babyl fileu1
]Buffer Filenames
q1"e ''
"# u1'
1,m(m.m# Babyl Q)
:i*CfsEchoDisplay
et1
fsOSTeco"n 1fsDVersionw'
fsDFilem(m.m& Read Babyl File)"n
ff&1"e 1u2''
fsDFileuBabyl Filenames
0uBuffer Filenames
0u:.b(qBuffer Index+2)
-1uInhibit Write
m(m.mConvert Babyl File Version)u3
m(m.m& Reset Babyl Options)
qBabyl Owner Optionf"n u1 f~(fsXUname:f6)1"n
0u2''w
q2"n
fsDFilef(uBuffer Filenames
)u:.b(qBuffer Index+2)
0uInhibit Write
q3"n @m(m.m# Babyl S)''
qBabyl Append Option&1"n zj -1'"# j's
0u..h
m(m.m# Babyl G)
qBabyl O Filename"e
et XMAIL
fsDFileuBabyl O Filename'
qNumber of Babyl Messages"e
fg :ftBabyl file has no messages.  Want to exit? 
m(m.m& Yes or No)"n 0u..h :@m(m.m# Babyl Q)'
ftOK, pick another Babyl file.
@:m(m.m# Babyl I)'
:m(m.m& Babyl Select Message)m.[1 0fsVB[2 0fsVZ[3 [4
ff&1"e
1m(m.m# Babyl J)
m(m.m& Check Message Label)deleted"e '
1:m(m.m# Babyl N)'
"l
qNumber Of Babyl Messagesm(m.m# Babyl J)
m(m.m& Check Message Label)deleted"e '
1:m(m.m# Babyl P)'
-qMessage Numberf"gu4
qNumber Of Babyl Messages--q4f"l+q4u4
zj -q4f"l:s
     "e oNoSuch''w'"#w
q4f"g:s
     "e oNoSuch''w''

 "#w
-(qMessage Number-)f"lw
j f"ew 1':s
	"e oNoSuch''
"#-u4
q4f"l:s
	"e !NoSuch!
q1j q2fsVBw q3fsVZw
:i*No Such Message f;Babyl-Command-Abort''w''w
f"ew 1'uMessage Number
m(m.m& Babyl Select Message)
v[1[2
 m(m.m& Push Message)
ff&1*"e
m(m.m& Babyl Select Message)'
"# m(m.m# Babyl J)'
m(m.m& Add Basic Label)deletedw
"e m(m.m& Bounds of Header)w'
.,zx1
zj 0a-10"n :i11
'
qBabyl K Textu2
:iBabyl K Text2
1
f:m(m.mLabel Message)r[1[2[3
 :f"g :i*'"# 0'u1
"l
m(m.m& Babyl Get Message Labels)f"ew :i*Not labeledfsErr'(
      )m(m.m& Make Babyl Label Table)[Babyl Labels Option
    @fn| qBabyl Labels OptionfsBKillw|
:i2Remove
0u3'
"#
:i2Attach
1u3'
m(m.m& Use Babyl Label Table)
q3,q1m(m.m& Read Babyl Label)2 label: f"e'u1
f m(m.m& Label Babyl Message)1'
[1[2[3[4
 "e '
"l -m(m.m# Babyl P)'
-u1
qMessage Numberu2
q2u3 .u4
@fn| m(m.m& Check Message Label)deleted"n
q2m(m.m# Babyl J)
q2-q3"e q4:jw''
|
m.m# Babyl ^N
< ,1mN
m(m.m& Check Message Label)deleted"e
	qMessage Numberu2
%1;'
>
 H[1[2 qBabyl O Filenamef"ew'f[DFile
ff&2"e
5,fAdd message tou1
et1 fsOSTeco"n 1fsDVersionw'
fsDFileuBabyl O Filename'
fsQPPtr(
0f[VB 0f[VZ
.:\u1
-s
   c .,(s).fsBoundariesw
e[ e\ fn 1j e^ e]
q..ou1  f[BBind
fsOSTeco-2"e
1:<er>"n oNEW'
@y'
"#
e?"e er @y'
"# !NEW!
iBABYL OPTIONS:
Version:5
Append
''
m(m.mConvert Babyl File Version)w
j :s
Append
+1"e zj
-@f
	  k 0a-
"e -d''
"# j s'
.(g1)j
l :fb, deleted,"l fk+1d'
0l :fb, recent,"e 2c i recent,'
eihpef
)fsQPUnwind
 qBabyl O Done Hookf"nu1 m1'w
*1,m(m.m& Label Babyl Message)filed m"e '
"l -:m(m.m# Babyl N)'
-[1[2
qMessage Numberu2
@fn| m(m.m& Check Message Label)deleted"n
	q2:m(m.m# Babyl J)' |
m.m# Babyl ^P
< 1mP
m(m.m& Check Message Label)deleted"e
	qMessage Numberu2
%1;'
>

 bqBuffer Filenames"n
ff&1"e 1,m(m.m& Babyl Expunge)'
m(m.m# Babyl S)'
0,fsZfsBoundw hk f?
0fsXModifiedw 0fsModifiedw
0uBabyl Filenames
 0uBuffer Filenames
 0u:.b(qBuffer Index+2)

 :iBabyl Modified Messages
fq*Survey* Buffer"G
q*Survey* Buffer[..o
hk 0fsModifiedw 0fsXModifiedw
]..o '
ff&2"n '
f;Babyl-Catch?m.m& Label Babyl Message
1,mLanswered
1,-1mLreply
&qBuffer Filenamesf"ew '[1  f[DFile
fsModified"e
:i*CfsEchoDisplay
@ft(No changes need to be written)
   0fsEchoActivew '
1,m(m.mWrite File)1
O[1
 :i*To continue editing this message use the C command(
    )[Abort Resumption Message
.( 1m(m.m& Parse Header) )j
fsQPPtr(
(-3"'e)(-4"'e)"n
0'"# 1',1m(m.m& Push to Edit Mail)
fm(m.m& Setup Reply Template)
qBabyl R Hookf"nu1 m1'w
m(m.mEdit and Mail Buffer)
)fsQPUnwind
qBabyl R Done Hookf"nu1 m1'w
,	[1[2[3[4[5[6
 1f[BothCase 1f[^PCase
0u0
0fsWindoww
hk iTo: 
qReply-to:u0 fq0"g g0'
"# qFrom:u0 fq0"g g0''
zj ff&1"n '-1"n
qTo:u1 fq1"g icc:  gTo:'
qCc:u1 fq1"g icc:  gCc:''
zj qBabyl CC Tof"nu1 icc:  g1 i
   '
zj -2f=
"n i
     '
zu5
zj qSubject:u1 fq1"g .(iRe: 1)j l.,zk'
zj gBabyl Header/Text Separator i

-3"e @fn|@m(m.m^R Babyl Yank)w|'
-4"e @fn|16@m(m.m^R Babyl Yank)w|'
qBabyl Trim Recipient List"e '
z-q5u5
fsBConsu2
m.m& Process Recipient Field
fsMachine:f6,q2 mpTO
fq2u3
fsMachine:f6,q2 mpCC
q..ou4 q2u..o j
fq0"g q3j .,zfsBoundariesw'
fsXUName:f6u1 0s
1@
qBabyl Dont Reply Tou1
q1fp"g 0s1'
j i

<  .-z; .u6
1a-*"e 2k !<!>'
5f~INFO-"e 2k !<!>'
7f~BBOARD@"e 2k !<!>'
q1"n
2r 2f:fb"l q6j 2k !<!>'
q6j'
2l >
j 2d
  l  l 
:i1
<  .-z; ff~1"e 2k'
"# x1 2l' >
j 0fsVBw
<  .@; -2l x1
.( 2l <.-z; ff~1"e 2k'"# 2l'> )j
>
j .,q3fsBoundariesw
z"g  iTo: 
< .u1 k :l i, 
fsSHPOS-70"g q1j i
    '
:l 2d .-z; >
-2d i
'
0fsVZw .-z"l iCc: 
< .u1 k :l i, 
fsSHPOS-70"g q1j i
    '
:l 2d .-z; >
-2d i
'
q4u..o
b,(z-q5)k
g2 q2fsBKillw
zj ,ff"n m(m.m# Babyl J)'
fsz-z"e ftEnd of file
   '
[0[1 [3[4[5
 ft
#  qMessage Number=
m(m.m& Bounds Of Header)u4u5
q5j 1u3 <l.-z;%3w>
q5f[vb j4l .-b-200"g b+200j .u1 :l fshpos-120"g q1j '"# l ''
.-q4"l q4j '
z-.-150"l zj '
b,.t -2f=
"n   ft
'
:m(m.m& Babyl --MORE--)f[0[1
 ff&1"n 1u..h
m(m.m# Babyl J)
m(m.m& Check Message Label)deleted"e
:i*Message not deletedf;Babyl-Command-Abort''
"#
.u0
qMessage Numberu1
m.m# Babyl ^P
:< m(m.m& Check Message Label)deleted@:;
1mP
>"n q1m(m.m# Babyl J)
q0j
:i*No previous deleted message f;Babyl-Command-Abort''
m(m.m& Remove Basic Label)deletedw
 f:m(m.mMail With Template)3fsVB+(fsWindow)fsWindoww
0,fsZfsBoundw
#fm(m.m^R Extended Command)w C[0[1[2
 ff&1"n m(m.m# Babyl J)'
.( zj 0a-10"n i
'
gBabyl K Text )j
:iBabyl K Text
qMessage Number:\u0
:fo..qBabyl Modified Messagesu1
q:..q(%1)u2
:i:..q(q1)20m0

2qNumber of Babyl Messages:\[1
:i551 0~[1
 m(m.m& Bounds Of Header)u1u1
fnq1j
.: :s"l r'"# zj'
f[Fill Column
@m(m.m^R Fill Indented Mail Region)w f:m(m.mthe Babyl Helper)"f:m(m.mNext Labeled Message)[1[2[f @ft
Type a Babyl command character to describe, "*" for all of them: 
 fiu1
q1-*"n 1,q1m(m.m& Babyl Macro Get) '
ft
Single-character Babyl commands:


 m.m& Babyl Macro Getu2
m.m& Maybe Flush Outputuf
A-1u1 Z-A+1< 2,%1m2 mf >
ft0-9: Accumulate a numeric argument

 -1u1 0< 2,%1m2 mf >
9u1 A-9-1< 2,%1m2 mf >
Zu1 a-Z-1< 2,%1m2 mf >
zu1 -z< 2,%1m2 mf >
ft
Extended commands (invoked with "X"):
 !''!
 m(m.m& Get Library Pointer)BABYL m(m.m& List One File)C 
6fq5"g
0,fq5-1:g5u5
0'
:i*C fsEchoDisplayw [1
 0,fsZ fsBoundariesw
:s"e zj -s'
"# r'
fsZ-.fsVZw
-:s
"e
0fsVZw :s
"e   :i*Babyl bug: file empty when should not befsErr'
    :m(m.m& Babyl Select Message)'
:s
*** EOOH ***
"e :i*Babyl bug: no EOOH linefsErr'
 .fsVBw
}[0[1 0[2 [3[4[5[x
qMessage Numberu5
0,fsZfsBoundw
.u0 j
0s, deleted,
<  :s;
0l -4f=
   "n l !<!>'
0l .-3,(@:flc).f(k)u1
q0,.fux,q0-q1fu0w
.-q0"l q5-1u5'
%2w >
j 0s, recent,
<  :s; .u4
0l -4f=
   "n l !<!>'
q4j -8d
q0,.fux,q0-8fu0w
>
q0:jw
qNumber of Babyl Messages-q2f(uNumber of Babyl Messages
),q5f:uMessage Numberw
h.[0[1[2
0f[vb 0f[vz
:s"l r' .u2
0s

0u1
j < .,q2:fb; %1w >
q1uMessage Number
q0jPq0,q1(
.:\u0 fsWindow:\u1
@fn| 0fsVBw 0fsVZw
0:j"e zj'
m(m.m& Babyl Select Message)
0-b"l b'"# 0-z"g z'"# 0''j
1-b"l b'"# 1-z"g z'"# 1''fsWindoww
|
    [Message Number
    )u1u0
:[1 0f[VB 0f[VZ
-:s
"e j'"# l'
:s
*** EOOH ***
w
.u1
 4f~MSG:"e l
   < 8f~DISTRIB:@:; l >
   < 8f~EXPIRES:@:; l >'
 :fb:@f"ew :i*Bad header -- not ITS or NET stylefsErr
 '+1"e :s

 q1,.'
 l
 <4f~TO: @:; l>
 <4f~CC: @:; l>
 q1,.P0f[VB 0f[VZ
-:s
"e j'"# 2l'
.( 2:rw :s
*** EOOH ***
   "l -l' ),. [0[1[2[3[4[5[6[7[8[9 [..j
 :i*Babyl[Editor Name
m(m.m& Babyl Select Message)
fsModeMacm.vPre-Babyl Mode Macrow
m.m& Babyl Set Mode Linef[ModeMac
fs^REnteru0
@:i*| qPre-Babyl Mode Macrof[ModeMacro
0|f[^REnter
0u3
-1u0
m.m& Reformed Bitu2
m.m& Reform Headeru4
m.m& Remove Basic Labelu6
m.m& Babyl Macro Getu7
qBabyl Command Hookf"ew :i*'u8
qBabyl No Reformation Optionu9
f<!Babyl-Catch!
@:f<!Babyl-Command-Abort!
:i5
fsListen+fq3"g oINPUT'
m2"e q9"e m4''
fsRgetty"n fsEchoActive"l
:i*CfsEchoDisplay 0fsEchoActivew''
1fsModeChw
1m8
@v
2m8
!INPUT!

    0f[HelpMacro
    fq3"g g3 fk+1fx3 0au0 -d'
"# fsRgetty"e fsTyoHPos"e ft:''
@:fi-233."e QfsReRead'
fiu0 q0fsEchoOut
0u..H
0fsEchoActw'
f]HelpMacro  q0-4110."e ?u0'
q0m7u1
3m8
[2[4[6[7[8[9[0
5@m1fu1
]0]9]8]7]6]4]2
0fsFlushedw
4m8
q1"n oINPUT'
>f"L u1
@ft
1.  0fsEchoActive'w
>y[1[2
fsReReadw fiu1
-4110."E ?u1'
q1:i2
q1-33"L q1+100.u2 :i2^2'
"# q1-127"E :i2<Rubout>''
"E 1,m.m# Babyl 2f"N 'w'
q1-8"E :i2<Backspace>'
"# q1-9"E :i2<Tab>'
"# q1-10"E :i2<Linefeed>'
"# q1-13"E :i2<Return>'
"# q1-27"E :i2<Altmode>'
"# q1-32"E :i2<Space>''''''
"E :i*2 is not a Babyl command f;Babyl-Command-Abort '

 1,m.m~DOC~ # Babyl 2f"Ew -1"G  '
:i*- is Not a Babyl Command.'u1
-1"e
ft2: 
f[BBind
g1 j:@f k d
< :s;
b,.-1t b,.k
.,(s -d).fx1
0:g1-"e m1'
"# 2,m(m.mWhere Is)1"e
ft1''
>
ft..o
   '
"#
2,(1f"L wfq1'):g1u1
ft2: 1
   '
a[1[2
 .-z"n
.( 0u2 <%2wl.-z;> )j
ft( q2:= z-./(fsWidth*q2)<ft*>
ft lines)--MORE--'
/[1[2
 0fsVBw -s
 l .fsVBw
f1
0fsVZw s r z-.fsVZw
-2f=
"e 2r'"# i
 2r' -@f
	 -,0dw
1@:<
1,m(m.m& Parse Header)
>"n
m(m.m& Add Basic Label)badHeaderw
j s
*** EOOH ***
	.fsVBw '
z-.u1
j :l
.,(s
*** EOOH ***
  fkc).k
2l
qBabyl No Original Option"e
.,z-q1x2
-l g2 l'
.fsVBw
f[BBind
m(m.m& Form Header)
zj i

hx2
f]BBind
g2
.-2,z-q1k
j
 0uParsed Message Number
[1[2[3[4
:fo..qParsed Message Number+1u1
:fo..qMessage Number+1u2
"n
q:..q(q1)-q:..q(q2)"e
m(m.m& Bounds Of Header)jw '
"#
q:..q(q2)u:..q(q1)''
"#
0u:..q(q1)'
:i1
q1uDate:
 q1uFrom:
 q1uFrom-the-terminal-of:
 q1uSender:
 q1uSubject:
 q1uTo:
 q1uCc:
 q1uMessage-id:
 q1uKeywords:
 q1uIn-Reply-to:
 q1uReply-to:
 q1uRedistributed-To:
 q1uRedistributed-By:
 q1uRedistributed-Date:
 q1uRegarding:
 q1uMSG:
 q1uMail-from:
 q1uRcvd-Date:
 q1uUnknown:

 0f[VB -s
 l .fsVBw
s
*** EOOH ***

4f=MSG:"e 4c @f	 r @xMSG: l
<	8f~DISTRIB:@:;
8c @f	 r @xTo: l >
<	8f~EXPIRES:@:; l >
'
.u1
:fb@:f"ew ff&2"n j -1fsErrThrow'
:i*Bad header -- not ITS or NET stylefsErr'+1"e
s  r 0x4 :iFrom:4

c 9f=(Sent by "e 9c .,(fb) ).-2x4 :iSender:4
'
.u2
:fb Re: "l @f	 l xSubject: 5r'
"# :l'
q2,.x4 :iDate:4
	l
< 4f~TO: @:; 3c @f	 l @xTo: l >
< 4f~CC: @:; 3c @f	 l @xcc: l >
'
"#	q1j :s

"e zj'"# @f
d 2r'
fsZ-.f[VZ
q1j < .-z; .,(:fb:"e ff&2"n j -1fsErrThrow'
:i*Bad header -- no colon in fieldfsErr'
r -@f	 r).x1 c
f~1Sent-by"e :i1Sender'
f~1Received-date"e :i1Rcvd-Date'
f~1Re"e :i1Subject'
@f	 l x2
< l .-z;
1af	 :;
@x2 >
0fo..q1:f"nu3 fq3"g :i*3 2'"# q2'u1:'
"#w f~Babyl suppressed headers:1:"e
.(g1i:g2),.@fxUnknown:''
>
f]VZ 2:cw
'
8	[1[2[3[4[5[6[7 [P .f[VB fsZ-.f[VZ
fsBCONSu5 @fn|q5fsBKill|
fsMachine:f6u7
fsOSTeco"E :i7MIT-7 '
qBabyl Punt Missing Hosts"E 0u4
:@i1|:i2 fq2::"G 0'
.,(g2:).(
j :s@ at "l
.,( @:f,<>() 	
l
).x4'
)k q4|
m1Redistributed-by"E
m1From"E
m1Sender"E
fqMail-from:"G
.,(i gMail-from:).(
-@f 	
l
-@:f	 x4
)k'
q4"E q7u4 '''''
:@i6|:i2 fq2:"E'
i2: 5-(fsHPos)f"lw0'+1,40.i
.(g2:)j l <.-z;i     l>|
:@i1|:i2 fq2:"E'
m62|
qBabyl Punt Missing Hosts"E
m.m& Process Recipient FielduP
:@i1|1
1:< q4,q5mP2w
>f"L u3 :i* 3 in 2:-fieldfg'
zj|'
m6MSG
fqDate:"n iDate:  .u2 gDate:
fsOSTeco"n
q2j fsFDConvertu3
:f"e q2,.k
332221000000.,q3fsFDConvert
-s  i '
zj''
m1From
fqSender:"n qSender:u2 f~From:2"n m1Sender''
 m1Reply-To
 m1Redistributed-By
 m1Redistributed-To
 m1To
 m1cc

 fqSubject:"n
.(m6Subject)j 8diRe:   
0fo..qBabyl Remove Subject Labels"n
<
@f	 k
0,1a-!"n 0,1a-{"n 1;''
0,1a-!"e d'
0,1a-{"e .,(:fb};).k'
>'

    < @f	 k
3f~Re:@:; 3d >
zj'
fqUnknown:"G gUnknown: fkc
< .-z; :fb:w 5-(fsHPos)f"lw0'+1,40.i l > '
i

fsZ-(z-b)"n :i*Bounds not widefsErr'
[1 fsDFilew hk
 m.m& Yes or No

 !RETRY!
 e?"n
fsDFileu1 ftThere is no Babyl file 1.
Do you want to create one? 
my"n fsDFile, m(m.mCreate Babyl File)'
"# ftWant to specify another filename? 
my"n m(m.m& Read Filename)Babyl fileu1
q1"n et1 oRETRY''
:i*No Babyl file f;Babyl-Catch''
:i*AReading Babyl filefsEchoDisplay
 er fsIFileu1
@ft 1
@y
@ft

0fsXModifiedw 0fsModifiedw

 j 1f~BABYL OPTIONS:
"e 1'
iBABYL OPTIONS:
Version:5

10f~*APPEND*
"e 10d jl iAppend
   '
j s .fsVBw
m(m.m& Babylize Buffer)
0,fsZfsBoundariesw
0 [1[2[3[4
 ff&1"n '"# 5'u2
j :ff~BABYL OPTIONS:"n
:i*Not a Babyl file (no BABYL OPTIONS section)fsErr'
:s
Version:+1"n :i*No version found in BABYL OPTIONS sectionfsErr'
 @f	 l
1a:"d :i*Version must start with a digitfsErr'
\u1
q1-q2"e j 0'
ff&2"n
fsQPPtru4
hfx3
f[BBind g3
0u3'
q1,q2m(m.m& Convert Babyl File Version)
0,(fsZ)fsBoundariesw j :s
Version:+1"n
:i*No version found in BABYL OPTIONS section after conversion!!fsErr'
 :k q2\
ff&2"n
hfx3
q4fsQPUnwindw
g3 0u3'
j ft
Done. 1F[3[4 fsQPPtr[0
0,(fsZ)fsBoundariesw
:\u3 :\u4
ft
Converting Babyl file from version 3 to 4...

 :oCV 3 to 4
ft by steps:
 -"l
--1"e :i*I do not know how to convert 3 to 4fsErr'
    ,+1m(m.m& Convert Babyl File Version)
+1,:m(m.m& Convert Babyl File Version)'
--1"e :i*I do not know how to convert 3 to 4fsErr'
 q0fsQPUnwindw
,-1m(m.m& Convert Babyl File Version)
-1,:m(m.m& Convert Babyl File Version)
!CV 3 to 4!
[1
 j< :s
   ; .u1
:s
*** EOOH ***
+2"e
q1j l i*** EOOH ***
     '
q1j >




 !CV 4 to 3!

!CV 4 to 5!
[1[2[3
 j :s
Keywords:+1"e fk+2d iLabels:'
j< :s
;  @f
   k .-z;
.u1
< :fb{; -d -@f	 k i, 
:fb}"e :i*Oops -- no } after label!!fsErr'
      -d > :l -@f	 k i,
q1+1j 8f[IBase \u2 f]IBase
q1+6j i,
q2&4"n q1+6j i badHeader,'
q2&2"e q1+6j i unseen,'
q2&10."n q1+6j i answered,'
q2&20."n q1+6j i filed,'
q1j 1a-D"e q1+6j i deleted,'
q1j 5d q2&1+0i
>


 !CV 5 to 4!
[1[2[3
 j :s
Labels:+1"e fk+2d iKeywords:'
j< :s
;  @f
   k .-z;
0l :fb, recent,"l fk+1d'
0l 1a-0u2 d
0l :fb, unseen,"l fk+1d'"# q22u2'
0l :fb, badHeader,"l fk+1d q24u2'
0l :fb, answered,,,+1"e fk+1d q210.u2'
0l :fb, filed,,,+1"e fk+1d q220.u2'
8[..e 10000.+q2:\u2 ]..e
0l :fb, deleted,"l fk+1d 0:f2D'
0l :fb,,"e :i*Ooops--broken assumptionfsErr' -d
0l g2
0s,  <:fb; } {>
0l5c 1a-}"e d'
:l -d
0f-5"g i}' >
q[1
bj 0f[VB
0a-"n :i*Must have Control-_ just above VB fsErr'
       f]VB
zj 0f[VZ
14.,1a-14."n :i*Must have Control-L just below VZ fsErr'
       f]VZ
fsOSTeco"n m(m.m& ITSify TNX Mail)'
bj @f
	 k
0s
<  i
0, recent, unseen,,
*** EOOH ***

@f
	 k
:s; >
zj -@f
 	k
-36f=
0, recent, unseen,,
*** EOOH ***"n :i*Mail file does not end with Control-_ fsErrw'
 -36d
qBabyl Autolabel Messages"n
bj m(m.m& AutoLabel Subject Labels)'

 bj o0[1 .[2 -[3
:s"l r'
0s

0uParsed Message Number
ff&1"e
fsVZu3
0,.fsBoundw j <:s;%1>
q1uMessage Number
q3fsVZw <:s;%1> q1u3
0fsVZw <:s;%1>
q1uNumber of Babyl Messages
q2j'
:iBabyl Modified Messages
fq*Survey* Buffer"G
q*Survey* Buffer[..o
hk 0fsModifiedw 0fsXModifiedw
]..o '
q1"g m(m.m& Babyl Select Message)'
q3i[1[2 0f[VB 0f[VZ jl
0m.vBabyl XMail Optionw
0m.vBabyl XMail Append Optionw
0m.vBabyl MAIL Optionw
0m.vBabyl Version Optionw
0m.vBabyl No Original Optionw
0m.vBabyl Owner Optionw
0m.vBabyl No Reformation Option
0m.vBabyl Labels Option
fsOSTeco"E 0 '"# 2 ' m.vBabyl Append Optionw
< 1a-@;
:fb:"l
r 0x1
c@f 	l :x2
1a"D2\w @f 	l (1a)-
"# :x1
1u2'
l
1:< q2uBabyl 1 Option
>"n @ft
(1 is not a Babyl option) 0fsEchoActivew'
>

 :[1[2
j < .-z; .u2
:fb,; \u1 0,1a-;@:;
l z-.-q1u1
<9f~Mail from@:; l>
q2,.k
<.,z-q1:fb;^_>
z-q1j
i
@f
 	k
>
 .-z"e ,0a-"e j ''
:i*Bad message filefsErr`[1[2[3[4[5 .u1 fnq1j [1
qBabyl Filenamesu1
qBuffer Filenames"e :i11 (RO)'
qNumber Of Babyl Messages:\u2
b"e fsZ-z"e
	:i3Babyl (Messages 1-2) 1 
f=..j3"n q3u..j' ''
qMessage Number:\u3
0f[VB -s
lc
.,(fb,,).-1x4
:@x4
0,fq4-1:g4u4
2-3"e :i44, last'
:i5Babyl (Message 3/24) 1 
f=..j5"n q5u..j'
W.:\[1 fn1j 0f[VB
-s
lc
.,(fb,,).-1x1
:@x1
0,fq1-1:g1u1
fq1"g q1'
070f[VB .[0 fnq0j [1[2
 -s
l

 :fb, deleted,"l Du2'
"# :fb, unseen,"l -u2'
"# :fb, recent,"l +u2'
"# :u2'''
0l fb,, :x1
fq1"g 1,fq1-1:g1u1 :i1{1} '
q2,q1j[b[f[k
m.m& Maybe Flush Outputuf
(:f"g :i*')m(m.m& Read Babyl Label)Survey messages labeled: f"e'uk
 m.m& Babyl Survey Several Messagesub
0mb
1f<!SurLab!
fm(m.m& Label Map Command)k 1,mb mff;SurLab
    >
U[0[1[2[3[4
 :f"g :i*( :i1 )u0'
"# 0u0 0u1'
m(m.m& Push Message)
ff&1"e
1m(m.m# Babyl J)w
qNumber of Babyl Messagesu2
1u3'
"# "l -u2 -1u3'
"e 1m(m.m# Babyl J)w
qNumber of Babyl Messagesu2
-1u3'
"g u2 1u3''
q3"g :i4Add'"# :i4Remove'
q0m(m.m& Read Babyl Label)Consider messages labeled: f"e'u0
q1m(m.m& Read Babyl Label)4 label: f"e'u1
m.m& Label Babyl Message
1,q2m(m.m& Map Over Labeled Messages)1,q3mL10 [k (:f"g :i*')m(m.m& Read Babyl Label)Delete messages labeled: f"e'uk
 0[Babyl N After D
m.m# Babyl D
fm(m.m& Label Map Command)kmd ![k (:f"g :i*')m(m.m& Read Babyl Label)Undelete messages labeled: f"e'uk
 m.m& Remove Basic Label
fm(m.m& Label Map Command)k mudeletedw Pf[DFile [k[1
 (:f"g :i*')m(m.m& Read Babyl Label)Output messages labeled: f"e'uk
etk XMAIL fsOSTeco"n 1fsDVersionw'
1m(m.m& Read Filename)Output Labeled Messages to filef"ew'u1
et1 fsOSTeco"n 1fsDVersionw'
fsDFile[Babyl O Filename
@ftMark messages as deleted? 
 1m(m.m& Yes Or No)u1
0[Babyl N After D
m.m# Babyl O
q1"n m.m# Babyl D
fm(m.m& Label Map Command)k1,mOwmD '
 fm(m.m& Label Map Command)k1,mO [.0[.2 :i*( :i.2
)u.0
m(m.m& Push Message)
ff&1"e 1m(m.m# Babyl J)w
1,z'"# 1,'(
)m(m.m& Map Over Labeled Messages).2.0
ftDone.
 [.0[.1[.2[.3
 :i*(
:i.0 )u.1
m.m& Babyl Select Messageu.2
qMessage Number-1u.3
@fn| q.3umessage number |
0fsVBw 0fsVZw
-s
0s, .0,
< :@fl :cw .-z;
1a-
"n !<!@>'
%.3w
l :fb"e !<!@>'
q.3uMessage Number
m.2
m.1
0s, .0, 0fsVZw
>
5[0[1[2[3  :i0
z-.:\u1
z-(fsVB):\u3
@fn| z-1:j"e j'
z-3fsVBw |
0fsVBw
-s

l
"l
:fb, 0,"e "n '
@ft
Not labeled 0 to begin with 0fsEchoActivew '
fk+1d'
"#
:fb, 0,"l "n '
@ft
Already labeled 0 0fsEchoActivew '
:l
f~0deleted"e 0l2c'
"# f~0unseen"e 0l2c'
"# f~0recent"e 0l2c'''
i 0,'
qMessage Number:\u0
qBabyl Modified Messagesu2
:iBabyl Modified Messages20m0

_[0[1[2  :i0
z-.:\u1 z-(fsVB):\u2
@fn| z-1:j"e j'
z-2fsVBw |
0fsVBw
-s
l
:fb, 0,"l -1'
0l2c
i 0,
qMessage Number:\u0
:fo..qBabyl Modified Messagesu1
q:..q(%1)u2
:i:..q(q1)20m0

0W[0[1[2  :i0
z-.:\u1 z-(fsVB):\u2
@fn| z-1:j"e j'
z-2fsVBw |
0fsVBw
-s
l
:fb, 0,"e 0'
fk+1d
qMessage Number:\u0
:fo..qBabyl Modified Messagesu1
q:..q(%1)u2
:i:..q(q1)20m0

-18:i*[0 .[1 fnq1j 0f[VB -s
l
:fb, 0,"'lJ0f[VB .[1 fnq1j -s
l 1a-1"'e(
ff&1"n "n f1'"# f0''
)5ff"n '"# 1' m(m.mLabel Message)RemindNow
 .m(m.mSurvey Labeled Messages)RemindNow z[k[0

 :f"g :ik'"# 0uk'
fqk:"g
ff&1"e qBabyl Last | Labeluk'
"# m(m.m& Read Babyl Label)Next message labeled: f"e'uk''
qkuBabyl Last | Label
qMessage Numberu0
@m(m.m# Babyl ^N)
1,1 m(m.m& Map Over Labeled Messages)wk
m(m.m& Babyl Select Message)
m(m.m& Check Message Label)k"e
q0m(m.m# Babyl J)
@ft(No more {k}) 0fsEchoActivew'
0[0 [1 .[2 fnq2j
0f[VB 0f[VZ
m.m& Label Babyl Message
<  :s
Subject: Re: ;
<
@f	 l
0,1a-!"n 0,1a-{"n 1;''
0,1a-!"e .-z(1,mLRemindNow)+z+1j
1u0'
0,1a-{"e .+1,(:fb};).-1x1
.-z(1,mL1)+zj
1u0'
> >
q0"n 1m.vBabyl Remove Subject Labelsw'
Z[1[2[3[4[V
 5fsQVectoru1 1u:1(0)
f[BBind g()
@:iV|
[2[3
      @:fo12u3
q3"l -q3*5j q:1(0)*5,0i
q2u:1(-q3)'
|
i, j
0u4
< @f	 l .-z;
.u2
@:f,=l
.(-@f	 l q2,.x2)j c
fq2"e !<!>'
0a-="e q2u4 !<!>'
q1[..o
q2mV
q4"n  q4mV
:i34 = 2
q3mV
q2m.vBabyl 4 Labelabw
q2m.vBabyl 3 Labelabw'
]..o
0u4 >
q1i[1
qBabyl Labels Optionu1
fq1"l
:i1RemindNow,filed,answered,reply'
q1fp-1"n
:i11,deleted,unseen,recent,badHeader
q1m(m.m& Make Babyl Label Table)u1
q1uBabyl Labels Option'
q1(]1)[CRL List
:i*[CRL Prefix
:o:i*[0 [1 1[2
0f[ModeMacro
m(m.m& Use Babyl Label Table)
fq1:"g
0u2
2,m(m.m& Read Command Name)0f"ew
:i*CfsEchoDisplayw 0'u1'
0fo..qBabyl 1 Labelabf"nu1'w
f"n 0u2'
q2,q1m(m.m& Add to Labels Option)f"e'w
q1w[0
:foBabyl Labels Option0"g 1'
"n
@ft
Add 0 to label list?  1m(m.m& Yes or No)f"e'w'
z-.[1 z-(fsVB)[2 @fn|1:<z-q1j
z-q2fsVB>w|
0fsVBw
j :ff~BABYL OPTIONS:"n :i*There is no BABYL OPTIONS sectionfsErr'
 :s
Labels:+2"n
jl iLabels:
   0:l'
.( g0
@f	 k
13,1a-13"n i,'
)j
qBabyl Labels OptionfsBKillw
:xBabyl Labels Option
1[1[2
 0f[VZ
z-.:\u1 z-(fsVB):\u2 0fsVBw
@fn|0fsVBw 0fsVZw z-1j z-2fsVBw|
0f[ModeMacro
j :ff~BABYL OPTIONS:"n :i*There is no BABYL OPTIONS sectionfsErr'


 j :s
Labels:+2"e
:x2'
"# :i2'''
fsQPPtr(
  f[BBind g2
:ft z+1+50/(fsWidth+1)+1f(<ft
   > ft--------
)f[Linesw  0u..h
@:i*|	0fsLinesw m(m.mDescribe)Edit Labels List 
	|f[HelpMacro
:i*Edit Labels List[..j

j <:l.-z;k>
hx2
)fsQPUnwindw
j:s
Labels:+2"e
:k g2'
"#
jl iLabels:2
   '
q2uBabyl Labels Option
|[0[1
 :f"g :i*( :i1 )u0'
"# 1,fLabel messages containing string: f"e'u0
0u1'
fq0:"g 1,m(m.m& Read Line)For messages containing string: f"e'u0'
q1m(m.m& Read Babyl Label)Attach label: f"e'u1
m(m.m& Push Message)
m.m# Babyl ^F
m.m& Label Babyl Message
ff&1"n 1m(m.m# Babyl J)w'
j 0fsVBw -l
<  1:<q0,1mFw>:@;
1,mL1w
zj >
ftDone.

 sff-1"e
2,m(m.m& Babyl Survey Several Messages)'
"# ff-3"e
m(m.m# Babyl J)
2,(-+1)m(m.m& Babyl Survey Several Messages)''
q*Survey* Bufferf"n[1 fq1'"e
@m(m.m# Babyl ^S)w
q*Survey* Bufferf"n[1 fq1'"e  ''
@fn| m(m.mSelect Buffer)*Babyl*|
q:.b( :i**Babyl* m(m.m& Find Buffer)+4 )m.vSvMenu Babyl Bufferw
m(m.mSelect Buffer)*Survey*
q..o m.vSvMenu Bufferw
f~ModeSurvey"e
m(m.m& Get Library Pointer)BABYL-(0fo..qBabyl Library Pointer)"n
       m(m.mSurvey Mode)'
qBABYL Loaded-qPrevious BABYL Loaded"N
m(m.mSurvey Mode)''
"# m(m.mSurvey Mode)'
0fo..qWindow 1 Buffer"n
[Window 1 Buffer [Window 1 Pointer
[Window 2 Buffer [Window 2 Pointer'
qBabyl Command Hookf"n[1 7m(q1(]1))'w
:i*Babyl [Editor Name
:i*Babyl [..j
1fsModeChangew
m(m.m& Jump To Current Survey Line)

[..o m(m.m& Survey-Select Message)
[1
qBABYL Loadedm.vPrevious BABYL Loadedw
 m(m.m& Get Library Pointer)BABYLm.vBabyl Library Pointerw
m(m.m& Init Buffer Locals)
1,(m.m& SvMenu ^RNormal Macro)m.QFS^RNormal
m.m^R SvMenu Argumentu1
1,q1m.q-
1,q1m.q0
1,q1m.q1
1,q1m.q2
1,q1m.q3
1,q1m.q4
1,q1m.q5
1,q1m.q6
1,q1m.q7
1,q1m.q8
1,q1m.q9
1,q1m.q,
1,q1m.q+
1,q1m.q*
1,q1m.q/
Afs^RInitu1
1,q1m.q.D
1,q1m.q
1,(33.fs^RInit)m.q 
1,(m.m^R Survey Menu T)m.qT
1m(m.m& Set Mode Line)Survey
qBabyl Command Hook[0[1 fsQPPtr[2
0f[ModeMacro f[ModeChange
q..0fsEchoOutw 0fsEchoActivew
m(m.m& Survey-Select Message)w
q0"n 5m0'
ff&1"n m(m.m& Bounds Of Header)jw'
0fo..qWindow 2 Size"n
m.m^R Other Windowu1
.(
@m1w @fn|@m1w|
m(m.mSelect Buffer)*Babyl*w
)j
.-bfsWindoww
0u..h @v
q0"n 6m0'
q2fsQPUnwindw
0'
ff"e .,zx1'
"# x1'
ft1
q0"n 6m0'
0:[1[2[3[4[5
 qBabyl Command Hookf"ew :i*'u4
1@:f<!Babyl-Command-Abort!
q..0m(m.m& Babyl Macro Get) u1
0l @f l \u2
q2"E
q..0:fcfCEIJMQS"L
:i*No message selected f;Babyl-Command-Abort'
1u2'
q..0fsEchoOutw 0fsEchoActw
@fn| fsModeChange(
m(m.mSelect Buffer)*Survey*w
)fsModeChangew
m(m.m& Jump To Current Survey Line) |
fsModeChange( m(m.mSelect Buffer)*Babyl*w )fsModeChangew
q2 m(m.m# Babyl J)
5m4
:i5 f@m1w
6m4
fq5"G :i*Arg-hackery is unimplemented in SvMenu f;Babyl-Command-Abort '
>f"Lu1 @ft
1.  0fsEchoActive'w
1#@fn| m(m.m& Jump To Current Survey Line) |
 [..o f[Window
fsQPPtr( [1
0l @f 	l
\u1
qSvMenu Babyl Bufferu..o
q1 m(m.m# Babyl J)
)fsQPUnwindw
:{0f[ReadOnly

 [9[0[1[2 .[3 [K[B[S[J
qMessage Numberu2
0l .-b"E l' @f l z-."E -l @f l' \u3
qBabyl Modified Messagesu9
fq9"g
.,.fsBoundariesw g9 \l
j<:x1  l .-z; :ff=1"e -k'>
hfx9 0,fsZfsBoundariesw
m.m& Get Labels for SurveyuK
qSvMenu Babyl BufferuB
q..ouS
m.m# Babyl JuJ
m.m& Babyl Resurvey One Messageu0
m9
:iBabyl Modified Messages
qBu..o q2mJ qSu..o'
j 3,q2:\u1
:s
1"l 0l'
"# j 3,q3:\u1
:s
1:"L jl'
0l q3-q2"L l .-z"E -l''
"# -l b-."E l '''
~fsQPPtr[9
[0[1
q..0&127:i0
q0fsEchoOutw 0fsEchoActw
< 2,m.i
:fif0123456789-,+*/:;
fiu1 :i001
q1fsEchoOutw 0fsEchoActw >
@fiu..0
1fs^RArgpw  -1u1
fq0< %1:g0"d 3fs^RArgpw 1;' >
0(q9fsQPUnwind)@:m(q..0fs^RIndirectfs^RCMacro)
BABYLMJ[1
 ff&2"e :i*To continue editing this message use the C command.(
    )[Abort Resumption Message'
-2"'e,0m(m.m& Push To Edit Mail)
qBabyl C Hookf"nu1 m1'w
:m(m.mEdit and Mail Buffer):i*To resume, invoke the Send Mail command again with a numeric argument[Abort Resumption Message
ff&1"n 1,:m(m.m# Babyl C)'
1,:m(m.m# Babyl M)[1
 ff&2"e :i*To continue editing this message use the C command.(
    )[Abort Resumption Message'
-2"'e,1m(m.m& Push To Edit Mail)
qCurrent Babyl Template Nameu1
q1"n 0@fo..qBabyl Template 1u1'
0fsWindoww
q1"n hk g1'
"#
hk iTo: 
   .-2(
qBabyl CC Tof"nu1 icc:  g1 i
	  'w
gBabyl Header/Text Separator i

	)j'
qBabyl M Hookf"nu1 m1'w
:m(m.mEdit and Mail Buffer)6[Current Babyl Template Name
 fsQPPtr(
:i*Babyl Template [CRL Prefix
q..q[CRL List
8+2,fTemplate: uCurrent Babyl Template Name
)fsQPUnwindw
f:m(m.m# Babyl M)}[0
 :i*Babyl Template [CRL Prefix
q..q[CRL List
ff&1"n 8+2'"# 1',fTemplate: u0
hx*m.vBabyl Template 0w
05[2

 qBabyl Edit Mail Hookf"nu2 m2'
"#
m.m^R Babyl Yank[...Y
1,m.m^R Fill Indented Mail Region[...\
qParagraph Delimiteru2
fq2"g :i22-'"# :i2-'
q2[Paragraph Delimiter'
!Re-edit!
 0u..h
fsRGetty"e ft

qBabyl Header/Text Separatoru2
.(	j s
2
	-l )u2
q2-."l b,q2t ft..a q2,.t'
"# b,.t'
q2j f+'

qBabyl Require Subjects"n
j 0sSubjectReS 0u2
<:s; 12.,(fk)a-12."n !<!>' r @f	 l 0,1a-:"e 1u2 1;'>
q2"e 1,m(m.m& Read Line)Subject: u2
	fq2"g j iSubject: 2
'''
z"e 0fsModifiedw 0fsXModifiedw '
1:< fsOSTeco"e m(m.m& ITS Mail Buffer)'
     "# m(m.m& TNX Mail Buffer)' >f"n @:fg oRe-edit'w
0fsModifiedw 0fsXModifiedw
[0[1[2
 -1"n
fsTopLine"g
f~Window 1 Buffer*Babyl*"e
1:<4@m(m.m^R One Window)>w'''
fsQPPtr(  qPre-*Mail* Buffer[..o
0f[VB 0f[VZ
.u0 fnq0j
:s"l r'"# zj' .u2
m(m.m& Bounds Of Header)u1j
q1,q2x2
-16"n .,q1x1'
"# m(m.m& Bounds Of Original Header)x1'
)fsQPUnwindw
.:w
.f[VB fsZ-.f[VZ g1 g2
-4"n
j
< .-z;
2 f=
     "n 4,32i '
l > '
zj
0fsZw
0 f "g i
  '
 b,.,f~Buffer Name*Mail*"n
:i*Must be in *Mail* buffer fsErr'
 1,m(m.m& Read Line)Subject: [.1
q.1"n fq.1"g
.-z(bjl .,(iSubject: .1
	      ).f w)+zj
''
 1-[1[2
 f~Buffer Name*Mail*"n
:i*Must be in *Mail* buffer fsErr'
 0f[VB
z-.:\u1 fn z-1:j"e zj' 
j i

"l :i1Un-To'
"# -4"e :i1Cc'
"# :i1To''
1,m(m.m& Read Line)1: u2
q2"n fq2"g
"l q2m(m.m& Babyl Delete Recipient)'
"# q2,q1m(m.m& Babyl Add Recipient)'''
j @f
k
1&4:m(m.m^R Babyl Add To-Recipient)'-1:m(m.m^R Babyl Add To-Recipient){[1[2
j :s
1:"l
<l 1af	 :;>
0:l
0f+fq2-70"g -@f, 	k i,
	 '
"# i, ''
"# bjl i1: 
   0:l'
i2
u1
j < :s
To:
Cc: ;
< < :fb1;
1af,l
fkc -@f	 l
	   0af:,
	   :"l
.,(:fb,"e :l').k'' >
l 1af	 "l 0:l 1;'
>
>
wqPre-*Mail* Buffer"n
:i*You are already in the process of sending mailfsErr'
 q..o[Pre-*Mail* Buffer
"n
0fo..qWindow 2 Size"e
qWindow 1 Size"N [Window 1 Size '
(fsHeight)-(fsEchoLines)-1/2-1uWindow 1 Size
1:< 4m(m.m^R Two Windows)f >w
@fn|1:<@m(m.m^R One Window)f>w|
''
m(m.m& Push to Buffer)*Mail*
"n
f~ModeText"n m(m.mText Mode)'
0uBuffer Filenames
fsOSTeco"e !<! et*Mail* >'
"# etMAIL.TEMP''
m.m& Set Mode Linef[ModeMac
qEditor Name[..j :i..j..j 
1fsModeChangew
:l[Previous Buffer
qBuffer Name[0
@:i*|m(m.mSelect Buffer)0|(]0)[..n
m(m.mSelect Buffer)
:D[1[2[3[4[5 g(q..o(f[BBind))
m.m& Process Recipient Field
0[Babyl Strip Local Host
qBabyl Header/Text Separatoru2
j 1f[BothCase :s
2
"e :i*No text, just header fsErr'

 0u4
-l fsZ-.fsVZw
j < .-z;
1af	 :"l l !<!>'
:fb:"l r -@f	 k
0@fc l !<!>'
1a-15."e k !<!>'
:i*Garbage in message header fsErr
>
q..ou3 f[BBind q..ou2 q3[..o
fsMachine:f6,q2 mpTO
fq2"g	0l <k 0,1af	 :;>
q2[..o j
< .-z; fb@ r :fx1
0l 1a-("n
1af"[!'!"l
:fb "l 0l i" :l i"!''!''
0l i( :l i)'
0l iRCPT: :lr i 1
%4w
l k >
hfx1
]..o g1'
fsMachine:f6,q2 mpCC
fq2"g	0l <k 0,1af	 :;>
q2[..o j
< .-z; fb@ r :fx1
0l 1a-("n
1af"[!'!"l
:fb "l 0l i" :l i"!''!''
0l i( :l i)'
0l iRCPT: :lr i 1 (R-OPTION CC)
%4w
l k >
hfx1
]..o g1'
fsMachine:f6,q2 mpBCC
fq2"g	0l <k 0,1af	 :;>
q2[..o j
< .-z; fb@ r :fx1
0l 1a-("n
1af"[!'!"l
:fb "l 0l i" :l i"!''!''
0l i( :l i)'
0l iRCPT: :lr i 1 (R-OPTION BCC)
%4w
l k >
hfx1
]..o g1'
q4"e :i*No Recipients fsErr'
j iFROM-PROGRAM:BABYL
FROM-XUNAME: fsXUnamef6 i
FROM-UNAME: fsUnamef6 i

j :s
FROM:"e 3l iAUTHOR: fsXUnamef6 i
'"# 
AUTHOR:'
j :s
H:"l 
HEADER-FORCE: @fc'
"# 3l iHEADER-FORCE:RFC733
'
j :s
S:
Re:"l 
SUBJECT:'
j :s
R:"l 
REGISTERED: @fc'
zj iTEXT;-1

0,(fsZ)fsBoundariesw k
f[DFile etDSK:.MAIL.;MAIL >
fsMachine-(f6DM)"e etAI:'
e\ fn e^
eihpef
@ft(mail queued) 0fsEchoActivew
0f[VB 0f[VZ
g(q..o( f[BBind ))
zj -2f=
"n i
'
m(m.m& Complete TNX Header)
f[DFile [1[2[3[4[5 q..ou3
fsMachine:f6u2 f[BBind q..ou4 q3[..o
m.m& Process Recipient Field
0[Babyl Strip Local Host
q2,q4mpTo
q2,q4mpcc
e?DSK:<SYSTEM>MAILING.LISTS"E
[8[9 q4[..o m(m.m& Expand Mailing Lists) u9 ]..o
   fq9"G f[BBind g9 j
< .-z;w :x8 etDSK:FOO.TXT et8
q3[..o 0f[VZ m(m.m& Append to TNX Mail File)
	   f]VZ ]..o l >
f]BBind '
   ]9 ]8 '

 j <:s
Fcc; @f	 l 1a-:"e :x2 l-k
etDSK:FOO.TXT fsHSnamefsDSnamew et2
0f[VZ m(m.m& Append to TNX Mail File) f]VZ
'>

 0,fsZfsBoundw
q4u..o j
etPS: :i5EMACS:
fsOSTeco-2"e etDSK: :i5DSK:<EMACS>'
e?<SYSTEM>XMAILR.FLAGS"n
e?<SYSTEM>MAILER.FLAGS"e
etDSK: fsHSnamefsDSnamew
< .-z; :x2 q3u..o
et[--UNSENT-MAIL--].2 eihpef
@ft(Mail to 2 queued)

q4u..o 2l
>
-(@fz5QUEUE-MAIL.SAV)fz'
"#
    etDSK: fsHSnamefsDSnamew
 :f:fb@$  :l  2l 
j :i2
<.-z; :f:fb@ d :f~2"e :k'"# :fx2 0l 14.i g2 i
' l k>
j   < :s
; :x2 q3u..o
et[--DECNET-MAIL--].2 eihpef
@ft(Mail to 2 queued)

q4u..o >
-(@fz5QUEUE-DMAIL.EXE)fz''
"#
 :f:fb@$  :l  2l 
j :i2
<.-z; :f:fb@ d :f~2"e :k'"# :fx2 0l 14.i g2 i
'   l k>
14.ii
   g3
etDSK: fsHSnamefsDSnamew
    et[--NETWORK-MAIL--]..0 eihpef
@ft(mail queued)
-(@fz5QUEUE-XMAIL.EXE)fz'
0fsEchoActivew
][1[3
 qBabyl Header/Text Separatoru1
j :s
1
"e :i*No text, just header fsErr'
0:l 0k
z-.fsVZ
j 5f~Date:"n
:s
Date:"e
iDate: 
332221000000.,fsDatefsFDConvertw
.-z(-s  i )+zj
qBabyl Day of Week Flag"n
.-z( b+6j .(s,r),.fx3 2d
)+zj i (3)'
i
     '"# 0l fx1 bj g1'
'
j < :s

; -k 2r >
j :s
From:"e
l iFrom: 
     2r .u1
g(fsXUname:f6)
fsMachine:f6u3
fq3"g i at  g3'
qBabyl User Nameu3 q3fp"g
q1,.f~3"n q1j g3 :fx3 0l iSender: 3
	  :l''
      qBabyl Personal Nameu3
q3fp"g 0l 6c g3 i < :l i> l'
'
j :s
S:
Re:"l
0k iSubject:'
j < :s
To:
Cc: ;
@f 	,k i 
<:fb,; @f 	k i >
0l <:fb, , ; ,  2r>
0l 4c 0,1a-15."e
0,3af	 "l
0lk 0:l''
>
A
[0[1[2[3[4[5[6[7[8[9 [..o
qBabyl ..D[..d
@fn|.-z(j 0,1a-15."e 2d')+z:j|
j i

f[VB f[VZ
0s

qBabyl Strip Local Host"N fsMachine:f6u7
fsOSTeco"E :i7 at 7 at MIT-7 '
"# :i7 at 7 ''
"# 0u7 '
u8 q..ou9
j <:s"e 0' @f	 l 0,1a-:@; >
c @f	 k 5-(fsHPos)f"lw0',40.i .u0
< l 0,1af	 :; 0:k >
0:l .u1
< :s; @f	 l 0,1a-:"n ! <!>'
c 0k
< :l k 0,1af	 :; >
0fx2 q1j i, g2 .u1
>
q0j .f[VB fsZ-q1f[VZ
<
@f	 ,k .-z; .u1 i 
-1u6 0u2
<
@f	 f"g di 'w .-z;
1au5 q5"b c :o5 r'
q6:"g
@flu4u3 q4j
q3,q4f~at"e oAT'
q3-b,q4-b(q8u..o)g9
i  q9u..o ! <!>'
! <!:i*Text after > in recipientfsErr
!<! q8u..o 0k q9u..o 0u2 %6"e ! <!>' :i*Extra < in recipientfsErr
     !>! q6"e .-1u6 ! <!>' :i*Extra > in recipientfsErr
!,! r -@f k c 0;
!@! -d 0a-32"n i ' iat 1a-32"n i '
!AT! .u2
q8u..o 0f"e
q9u..o -2:@fll .u3
-@fll .-q1-1"n :i*Null recipientfsErr'
.-b,q3-b(q2j q8u..o)g9'
-@f k i@ q9u..o ! <!>
!(! fll
>
q8u..o -@f k
q2"e 0f"e
q9u..o .u2 -:@fll .u3
-@fll .-q1-1"n :i*Null recipientfsErr'
.-b,q3-b(q2j q8u..o)g9'
i@ g()
q9u..o .-z(q6"g q6j'"# -@f, l' i at  g())+zj
q8u..o'
-s@ @fc :l
i

g(q9[..o q1+1,.x*(]..o)) 0a-,"e -d' i

q9u..o
q7"N .-z( -:s7"N fkd ' )+zj '
fsSHPos-70"g q1-b-4"g .(q1j i
     )+7j''
>
-@f, k
j
1j h(20000000.,fsDatefsFDConvert ,i)\ i;000000000000

j e?"e fsDFilem(m.m& Babyl Append)"n jk'
z-.fsVZw er fsIFilefsDfilew @y
zj 0fsVZw'
eihpef
b,.k k
E[1 e[e\fne^e]
er1 fsIFLengthu1 q1/5*5-5fsIFAccessw
 j @fn|b,.k| fsZ-.f[VZ @y zj f]VZ
1:<@:ei>"n 0' fsOFLength-q1"n :i*File changed size??fsErr'
 q1/5*5-5fsOFAccessw hp :ef 1CqBabyl ..D"e
[1[2 128*5,40.:i1
40.u2 176.-40.<%2*5:f1AA>
"*5:f1 | !'!
\*5:f1 /
(*5:f1 (
)*5:f1 )
<*5:f1  
>*5:f1  
,*5:f1  
@*5:f1  
q1uBabyl ..Dw'
w1 f[Both Case
q..o[0 f[BBindw q..o[1
f[BBindw q..o[2
erDSK:<SYSTEM>MAILING.LISTS @y
 j s
 b,.k 15.i 12.i
fsMachine:f6[3 :i3@3
[9 :i9
[4[5[6 [..o
q0u..o j <.-z;w
1:fb3
"N fkc 0x4
q2u..o j:s
4="N
q0u..o 0l 2k .u6 q2u..o
<
<0,1a-40.:@; c>
15.,1a-15.@;
1a-*"Exc .,(s

'"# @fwx5
q0u..o g5 g3 15.i12.i15.i12.i
q2u..o @fwr ' >
q0u..o q6j
'"# q0u..o 2l '' >
q0u..o j 15.i 12.i
<.-z;w .-2,(l). x4
-l .u5 -:s4"N q5j 2k
'"# q5j 2l ' >
  jk
q9SMailpsubsystembles, call setup hook.
If the variable Babyl Setup Hook is non0 it is called at the end of Babyl's
    setup, each time Babyl is loaded.
This object file was compressed on 12:25pm  Tuesday, 15 December 1981
by CSMITH on KL2137 from the following source libraries:

   FTN20:<CSMITH>BABYL.EMACS.6,	12/15/81 02:53:44
   FTN20:<CSMITH>BABYLM.EMACS.2,	08/26/81 16:04:49jC Mail file editor subsystem.
String argument is Babyl filename.
A pre-comma numeric argument means this should exit back to DDT or
    EXEC.
qSubDoc"n i
Remembers this in Babyl Standalone Job (non0 if exiting to DDT).'YC Create a new Babyl file, with sample message.
Will ask you for the Babyl filename, with a standard default for a
    user's main Babyl file that reads the user's mail file.  Will ask
    you about each of the various Babyl options that a Babyl file may
    have.
qSubDoc"n i
The filename may be passed as a pre-comma argument.'`^R Fill Region being smart about indentation.
Fills region something like ^R Fill Region, but will keep
    indentation and will not touch mail header or mail separator (e.g.
    dashes) lines.
In particular, this is good for filling an indented message yanked
    into a *Mail* buffer by the ^R Babyl Yank command.  It will
    respect indentation within the indented text too -- e.g. if the
    yanked message contains within it another yanked message, etc.
Will also check for an ITS-header subject and put it on its own line,
    in case the subject is very long and might be too long for the
    screen width.
M-x Undo<cr> will bring back the old text, in case filling causes more
    problems than it is worth.S Categorize current line.
Return	0 if not mail-related,
	1 if header line,
	2 if separator line,
	-1 if send header line.GC Break up a digest into individual messages.
The digest is assumed to be the currently selected message.  It will
    be replaced by the series of messages which made up the digest.  A
    "To:List-name" field will be added to each message header, for
    replying and visual identification of the source digest list. 
The option variable Undigestify Keep Digest controls what happens to
    the original digest.  This variable can have several values:
	0:	digest is discarded
	+n:	digest is kept, before the individual messages
	-n:	digest is kept, after them
	+1:	digest is additionally marked Deleted
	-1:	same
If a precomma arg is given it is used instead of the value of the
    variable.$S Find a line of numarg1 to numarg2 dashes.
Blanks before end of line are ignored.  We move past the found line if any.
Returns 0 for failure, -1 for success.XS Does the work.
Bounds must be around a digest and . must be just past Topics section
separator, before contents of the digest.
QL must contain list name of digest.
QD must hold & Find Digest Dash Separator.zC Only username.
Nice for Hermes, so other people can see your subject line in a
    survey.
Removes the "at ...." and the personal name part, e.g. leaves only:
From: Ciccarelli
This is an illegal header technically, but Hermes doesn't care.-C Survey all kinds of message.
Surveys messages after the current one generally.  But if you give it a
numeric argument, it will survey all messages in the Babyl file.>C Survey messages labeled "unseen".
Surveys all unseen messages after the current message, but if you give
    a numeric argument it surveys all unseen messages in the Babyl
    file.QC Survey messages labeled "deleted".
Surveys all deleted messages after the current message generally, but
    if you give a numeric argument all deleted messages in the Babyl
    file will be surveyed.NC Survey messages not labeled "unseen".
Surveys all such messages after the current message unless you give a
    numeric argument, in which case all seen messages in the Babyl
    file are surveyed.
C Survey messages not labeled somehow.
Given no (or null) string argument, surveys messages with no (user)
    labels.  A string argument is a label;  surveys messages without
    that label.
Numeric argument <n> means survey the next <n> unlabeled messages.5C Surveys search-selected messages.
Surveys messages which contain a string (the string argument).
(Actually this is a Teco search string.)
Surveys all such messages after the current message, unless you give a
    numeric argument, in which case all such messages in the Babyl
    file are surveyed.!C# Return to DDT temporarily.(C# Delete message and move backward.NC# Find and select message containing specific string.
Will ALWAYS start with next message after current one.  However, if no
match is found, returns to current message.  Argument is iteration
count.#C# Move to previous screenfull.C# Reformat a losing message that contains ^J's, ^H's, etc.
Replace them with their visual counterparts...
 ^H deletes character before it,
 ^J inserts carriage return + whitespace
 ^M becomes CRLF.
This is undoable.  (I.e. M-X Undo<cr> brings back old message.)#C# Jump to next unseen message.C# Clear screen.6C# No-op, flushes argument, and goes to next line./C# Move to next message, whether deleted or not.
If argument, n, goes to nth next.
qSubDoc"n i
1, NUMARG means dont print any error message (just throw quietly).'1C# Append current message to a TNX mail file.`C# Move to previous message, whether deleted or not.
If argument, n, moves to nth previous.7C# Enter a recursive edit level on current message.\C# Survey-prefix.  Also ignores ^S^Q for VT52 lossage etc.
^S^A or ^SA is M-X Survey All Messages
^S^D or ^SD is M-X Survey Deleted Messages
^S^L or ^SL is M-X Survey Labeled Messages (reads a label)
^S^M or ^SM is M-X Survey Messages Containing String (reads a string)
^S^F of ^SF is --ditto--
^S^R or ^SR is M-X Survey Reminders
	^SS is M-X Survey Seen Messages
^S^U or ^SU is M-X Survey Unseen Messages
^S? shows this description and then reads another character.
To correct for stupid terminals, any number of ^S's followed by a ^Q
	are ignored.  This is for VT52s, H19s, maybe others.3C# Call ^R Display Load Average, for TNX users.tC# Temporarily exit MM Babyl.  Doesn't file out.
Exits to EMACS or DDT/EXEC, depending on how M-X Babyl was called:
	If was 1,M-X Babyl... then will exit back to DDT/EXEC.
Repeating the M-X Babyl command will resume with state unchanged.%C# Execute a TECO command string.C# Print more of this message.
On printing terminal:  prints rest of message.
On display terminal:  goes to next screenful.
    n<Space> scrolls up n lines.
    9999 Space (or any semi-infinite numeric argument) goes to the
    end of the message.C# Into recursive edit level on survey.
No arguments means use the last survey.  If no last survey, we call .
M,N arguments means survey messages M through N.
N argument means survey next N messages.
-'<character> is like ^S<character>' but does not print while surveying.
    (Except for a "Done" which is unavoidable without serious work.)
For more details, see documentation for M-X Survey Menu.dC# Return the message number of current message.
To reposition at top of current message, do .J:C# Accumulate a line, then execute it with no display.&C# Type value of numeric argument.(C# Part of a Babyl numeric argument.3C# Move to next message and summarize it. = NB.
If the option variable Babyl A Mode Display is non-0, we will update
    the mode line.  (Default is to update it.)
Users on slow display terminals may want to disable updating, and use
    an occasional Z= instead, to see how many messages there are.
C# Survey the current next several messages.
Argument is how many messages to survey.
No argument means just survey current message.#S survey next NUMARG2 msgs.
NUMARG1 has bits:
1, dont 1st empty survey buffer.
2, dont print as go.  ORed with Survey Quietly.
0 NUMARG just makes a label.BS msgBuf,surveyBuf NUMARGs.
MsgBuf bound so starts with CRLF.S Updates survey line.
Updates status char, length, labels, subject.
NUMARG is msg #.  Buffer should be survey buf.  This will be a
no-op if survey line not found.
Caller should bind:
	K: & Get Labels for Survey
	B: Babyl buffer
	S: survey buffer
	J: # Babyl J)C# S Delete this message, maybe select next.
Given numeric argument, n, means delete message n.
If option variable Babyl N After D is non0 (default),
    do an N, else stay at current message.
qSubDoc"n i
Pre-comma NUMARG is amount to N after this, e.g. -1 for the ^D
    command.']C# Expunge deleted messages.  Handles empty file.
If expunging leaves the file with no messages, you are asked whether
to save the file and quit (i.e. do a "Q"), or save and get another
Babylofiled(i.e.edo ans"I").FYou can edit the message.
The mail will be set up to include the current message and a subject
    based on the original one if any.  You can then edit any of this
    before sending it off.
If you give a numeric argument of 2 we will try to use 2 windows, with
    the current message in the top and the message being sent in the
    bottom one.
The option variable Babyl F Control controls the default action of F:
	0:  You are put in a recursive edit level on the outgoing
	    message, which has an empty To: field (point is there), a
	    subject based on the original one, and the forwarded
	    message yanked into the text field.  You can thus edit any
	    field and add comments.  On terminals with insert/delete
	    line capability, we try to optimize redisplay.
	1:  The To: and Subject: are read in the echo area, and you
	    are then put in a recursive edit level on the outgoing
	    message, with the header above the screen window, i.e.
	    with only the text field showing.  (This may be desirable
	    for users with slow terminals without insert/delete line
	    capability, or for users with printing terminals.)  Typing
	    Rubout to the subject prompt makes the message not have
	    any subject;  typing Return makes the default subject be
	    used.
	2:  Reads the To: and Subject: in the echo area, and then
	    mails the message, without entering a recursive edit
	    level.
1F or 2F will force the general default action -- i.e. as if Babyl F
	    Control were 0.  (1F uses one window.)
When successfully exited (not aborted) it will run any Teco program
	    you provide in the variable Babyl F Done Hook, passing it
	    F's arguments.+C# Get any new mail received since Babyl was started.
1G means get mail from another mail file.  You will be asked for its
    filename.  Any kind of mail file can be read in:
    system-standard-format mail file, an RMail file, or another Babyl
    file.  The file will NOT be deleted -- you must do this manually,
    if desired.
The Append option (at the top of the Babyl file) determines where the
    new messages are put in the Babyl file and in what order:
	0: prepend messages to beginning of Babyl file
	1: append messages to end
	2: prepend and reverse order of new messages
	3: append and reverse
    Reversal is only done for the primary mail file, for the owner.
When G is done, it will run any Teco code in the variable
    Babyl G Done Hook.  Argument is number of new messages.C# Reform or display original header.
If no argument, this forces the original header to be reformed.  (You
    can thus manually reform selected messages even if you don't have
    messages normally reformed automatically -- i.e. if you set the No
    Reformation option.)  Reparse original header.
If argument, e.g. 1H, makes the original header be the visible header,
    i.e. it unreforms.mC# File out Babyl file, read in another.
After saving the current Babyl file (if necessary), asks for a Babyl
    file.  Default filename is DSK:homedir;username BABYL on ITS,
    DSK:<homedir>username.BABYL.1 on TNX.  Babyl files are ALWAYS
    version 1 on TNX.  If file is not a Babyl file, we just read -- no
    deleting, no writing.
If you try to read in a Babyl file that does not exist, offers to
    create one, asking you about the various options.
If a numeric argument is given (e.g. 1I), deleting and writing are
    inhibited.
qSubDoc"n i
A pre-comma NUMARG is a filename, so wont ask.'=C# Jump to message with given number.
nJ goes to message n whether deleted or not.  ZJ goes to last message.
J goes to first non-deleted message.
-J goes to last non-deleted message.,C# Delete message and append to text to be Y(ank)ed.
K kills current message.  nK kills message n.
0K kills current message, but only appends the text of the message.kC# Attach/remove a label to the current message.
Given negative argument, removes the specified label.jC Attach/remove a label to the current message.
Given negative argument, removes the specified label.QC# Go forward to next undeleted message.
If numeric argument, n, goes forward n undeleted messages.
qSubDoc"n i
Pre-comma NUMARG of 1 means not to print any error message if
    no next message.'&C# Write message to a Babyl file.
The message will be labeled recent in the file.  Any deleted label it
    had will be removed in that file.  Other labels remain.
On TNX, Babyl files always have file-version 1, E.g. FOO.BABYL.1.
We run Babyl O Done Hook when successfully done.
qSubDoc"n i
Pre-comma NUMARG means dont ask for filename -- just output to the default
   for O which is in Babyl O Filename.'GS Label this message "filed".
Designed to go on Babyl O Done Hook.*C# Move to previous undeleted message.C# File out Babyl file and exit Babyl.
Deleted messages are expunged from the file before exiting, and the
    survey buffer is emptied.
Giving a numeric argument of 1 means do not expunge, just exit.
qSubDoc"n i
1, NUMARG means just cleanup and file away, but dont exit.'zS Label message "answered", remove any "reply" label.
This is a function that is designed to go on Babyl R Done Hook. C# Write out the Babyl file.G
C# Reply to message using bottom window, with message in top.
Numeric argument of 1 means just reply to the FROM field.
Numeric argument of 3 means automatically yank the message.  It will
    have the reformed header.
Numeric argument of 4 means automatically yank the message but with
    the original header.
Recipient names that start with INFO-, BBOARD@, or * will not be
    included in a CC.  (Thus you won't mistakenly reply to INFO-EMACS
    or *ITS or *AI etc.)
Some variables may be set by the user to control header formation if
    they are non-0:
Babyl Trim Recipient List: By making this 0 you can turn off any of
    this removal (including INFO-, BBOARD@, *, etc.) -- you get just
    the basic TOs and CCs based on the FROM, TO, CC, and Babyl CC To
    variable.
Babyl CC To: should be a string, automatically inserted as a CC field.
Babyl Require Subjects: if you don't supply a subject field, you will
    be asked for one before mailing.
Babyl Dont Reply To: should be a Teco search string, selecting CC
    people to remove.  Each recipient mailbox name (the user@host part
    only, not any personal name parts) is searched -- if the search is
    successful that recipient is removed.  This does not affect the
    INFO-xxx, BBOARD@, or *machine checks.  If this is 0, no removal
    searching is done;  if it is a null string, any CCs to yourself
    are removed, as if the string were "yourname@".
Babyl R Hook: a Teco program run just before entering the recursive
    edit level.
Babyl R Done Hook: a Teco program run when R completes successfully.>S Form the message template in buffer.
An internal routine of # Babyl R, and it should pass us its arguments.
Original message should be already parsed, and the *Mail* buffer selected.VC# Type some or all of this message.
Numeric argument is optional message number.[C# Undelete a message.
Giving no numeric argument means undelete current message if deleted,
    or go back to one that is deleted and undelete that.
Giving a numeric argument, n, means undelete message number n.8C# Edit and send mail, with template initialization.C# Access whole file.eC# Execute an extended EMACS command.
This is just like the EMACS ^R Extended Command command.&C# Yank and reset text saved by K..C# Return no. of messages in current file.yC# Refill the current message.
Argument, or the variable Fill Column if no argument, specifies the
    fill width.
This will not touch header or mail separator lines, and will respect
    indentation.  E.g. any yanked messages will be filled separately,
    keeping their indentation.
M-x Undo<cr> will bring back the old message in case filling causes
    problems.GC# Generate a list of Babyl commands, or just describe 1 character.,C# Move to next message with some label.S Quick help for Babyl commands.
Invoked from Babyl with ?, this function prompts for a Babyl command
character and describes what that command does.  If user answers the
prompt with *, all commands are described.  Typing [HELP] at the
prompt will get the standard EMACS helper.SC# Delete the last character from accumulating argument.
Period, Z, digits, comma, plus, minus, etc. are characters that
    make up arguments.
If you rubout the entire argument, the echo area is cleared.S Bound msg . is in.AS Remove deleted msgs, unlabels recent.
Sets msg# variables.S sets msg# var:S So return to original msg, window when caller exits.HS Return .,. around (reformed) header.
Point left at end of header.US Return .,. around original header +-.
Point is left at end of original header.<S Babyl command loop.
Note variable Babyl Command Hook.uS Returns 1char-command function for ASCII arg or:
1, means type its doc-string.
2, means type 1line brief doc.6S Maybe print --MORE-- and # of lines left in msg.(S Format header on msg.  Bounds set.AS Parse header into field-name variables.
& Process Recipient Field parses a recipient field.
Leaves . at end of header if all ok.
0 NUMARG means this is not a numbered message (e.g. outgoing mail).
1 NUMARG means it is a numbered message (and thus we can perhaps avoid redoing
    the parse).
Pre-comma NUMARG says to be silent about a recognized bad header, and just
    -1fsErrThrow leaving point at top.  Else gives an error message.3S Create NET message header, inserted at point.)S and Babylize.  Leaves wide buffer.
Arg is filename.
May offer to create or ask for another filename.  Resets fsDFile.
Returns nonzero iff file was a Babyl file.C Numeric argument is desired version to go to.
If you give no numeric argument, the conversion will be to the version
    that this Babyl assumes.
Buffer should contain a Babyl file.
Point is left at the top.
You may convert up or down in versions.
qSubDoc"n i
1, means convert virtual buffer which means copying.
Returns non-0 if conversion was necessary, 0 if not.'HS Internal routine.
NUMARG1 is from-version, NUMARG2 is to-version.6S Ensure a good Babyl/MAIL file format, autolabel.S Buffer has BABYL and MAIL already.
Selects msg if there is one, flushes survey.
If no NUMARG: Calculates msg#s, returns # msgs in vbuf.$S From options at top of buffer.8S Convert MAIL.TXTish stuff in buffer to ITS format.TS Show msg and file properties.
Msg #, total #, labels, filename, whether (RO).-S Return 0 or list of labels for message.
S Status,labels.
In babyl buffer.
Returns 2 values:
First is status character.
Second is null or the curly-braced user label list.<C Survey all or n messages with some label.
String argument is label.  Messages with that label will be surveyed.
If no numeric argument is given, all messages with the label are
    surveyed.
If a numeric argument, n, is given, the next n messages with
    the label after the current message are surveyed.KC Add/remove label2 from label1'ed messages.
First string argument is label1, specifying which messages to consider.
Second string argument is label2, the label to add or remove from the
    considered messages.
No numeric argument means label all considered messages.
Numeric argument n (positive) means label the next n considered.
Numeric argument -n means unlabel the next n considered.
Numeric argument 0 means unlabel all considered messages.C Delete messages with some label.
String argument is label.
See also UnDelete Labeled Messages.
Numeric argument is number of messages (with the label) to delete, from
    the current message forward.
No numeric argument means delete all messages with the label.WC Undelete messages that have some label.
Numeric argument is number of messages (with the label) to undelete,
    from the current messageforward.
No numeric argument means undelete all the labeled messages.C Write messages with some label to a file.
String argument is the label.
Collects messages labeled with label <string argument> and adds
    them to the filename read.
Asks for filename.  Also asks if can mark messages as deleted.
    Default filename is based on the label, say foo:  for ITS
    default is FOO XMAIL, for TNX it is FOO.XMAIL.1.
Numeric argument is number of labeled messages to output, from
    the current message forward.
No numeric argument means output all messages in mail file.pS NUMARG control, msg pushing, done.
No NUMARG: iterate over whole mail file, all msgs with label.
NUMARG:  iterate over next NUMARG msgs with label.
STRARG1: Label name.
STRARG2: Teco to apply to each msg.
Mapper uses 1-dot qregs.=S Maps over labeled messages.
NUMARG1 is direction: currently only 1 (forward) works.
NUMARG2 is number of messages (in set) to apply to.
STRARG1 is teco commands.
STRARG2 is label.yS (Un)Label current message with string argument.
-1 means unlabel.
1, means do not warn "already labeled foo" etc.kS Label message with string argument, a basic label.
Returns 0 if not previously labeled, non0 if was.eS Unlabel message with string argument, label.
Returns 0 if not previously labeled, non0 if was.JS See if labeled with string argument.
Returns non0 iff labeled that.S Check or reset reformed bit.  Returns old value (0/-1).
NUMARG is new value (0/non0).
If no NUMARG, doesnt change it -- just returns it.aC (Un)Labels RemindNow.
Negative argument means remove the reminder label from this message.+C Survey messages with RemindNow label..C Move to next message with some label.
No numeric argument means this command's last label is used again.
    (If you explicitly give a string argument, though, it will be
    used.) The label defaults initially to RemindNow, for reminders.
With a numeric argument, will read the label to use.(S Subject begins with excl or {...}.2S numeric argument is string, returns qvector.#S Prepare for calling & Read Command Name.
Binds CRL List and CRL Prefix for reading labels.
Ensures that Babyl Labels Option is a qvector, maybe converting.S Read, process, and return label with completion.
String argument is prompt.
Returns 0 if aborted, else full label.  Label-abbrevs recognized and the
    full label returned.
NUMARG if any is label to use, else completing-read.
1, means do not confirm a label not in list.S Ensure label is in valid list.
NUMARG is label to check.
1, means confirm new labels.
Returns 0 iff the user did not confirm a new label.?C Edit the list of valid labels for this Babyl file.
Goes into recursive editing level on the current label list, or
    allows you to create a new list.  Only uses a few lines of the
    screen.  A line of --------- ends this window.
The list has the format: label1,label2,...,labelN
You can define "bl" to be a label-abbrev for "BabylLabel" by using
    in place of the label the string "bl=BabylLabel".
The actual list in the option field will be one line only but while
    editing you can use multiple lines -- this command cleans it all
    up when you exit via ^R Exit.  If you do use several lines, be
    sure to include commas at the end of each line since only commas
    separate labels -- the end of the line is completely ignored.
Aborting via Abort Recursive Edit will leave the list unchanged,
    even if you have done some editing.  (You are editing a copy.)
An example label list might be: b=bug,i=info,babyl,f=feature$C Label search-selected messages.
1st string argument is a string.  Messages containing that string will
    be labeled.
2nd string argument is the label to add.
Given a numeric argument, it goes through the entire Babyl file,
    rather than just forward from the current message.
Each message containing the given string is labeled with the given
    label.
Note that the string is actually a Teco search string, so for
    instance, if you want to label messages containing "foo" OR "bar",
    you can provide the string "foobar".C Edit Babyl file from a survey.
Babyl commands which are not control characters work as usual (plus
    Control-D and Rubout).
Control characters may be executed as Babyl commands by quoting them
    with ^R Quoted Insert.
When the recursive edit level is exited we will go back to Babyl
    buffer, selecting the current survey line's message.
qSubDoc"n i
Note Babyl Command Hook.'lC Execute Babyl commands from survey menu.
Most Babyl commands function as usual, applying to the message
    indicated by the cursor.  Space will exit recursive edit,
    selecting the message which had the cursor at its survey.^R Type message text for current survey line.
If in 2-window mode, will display message in opposite window.
nT means type only n lines of text, no header (for 2-window mode the
    n is ignored -- any argument means just display text).
-nT will show just header lines.8S Used inside Survey Mode.
Note Babyl Command Hook.kS Select message in Babyl buffer from
the current survey line.
We leave with the Babyl buffer teco-selected, but with a cleanup handler
    pushed that will return to the survey buffer and select the current
    message's line.@S Put point on appropriate survey line.
Puts point on line corresponding to current message.  If line
not found, try to stay on whatever line we were on before.  Resurveys if
necessary.6S Put on digits, minus, and comma to get arguments2Mail-sending part of the Babyl mail subsystem.6C# Continue editing the last message sent or aborted.
If you give a numeric argument of 2 we will use 2 windows, with the
    current message in the top and the message being sent in the
    bottom one.
Runs any Teco program in the variable Babyl C Hook after the message
    template has been set up.tS Edit and then send a message.
To continue editing a message aborted earlier, provide a numeric
    argument.XC# Edit and then send a message.
If you give a numeric argument of 2 we will try to use 2 windows, the
    mail in the bottom window, the current message in the top one.
To continue editing a message aborted earlier, use the C command.
You may set the variable Babyl M Hook to a Teco program to run after
    the header is initialized.(C Edit and send mail, with template initialization.
The message is initialized from a template, which may specify any
    header or text components.  The template is a variable, containing
    a copy of what the mail editing buffer should be initialized to.
String argument is a template name.  The template variable name is
    formed from this name -- e.g. for a template named "Foo", the
    variable is named Babyl Template Foo.  If you are using the Babyl
    V command the template name is read with completion.
If you give a numeric argument of 2, we will try to use 2 windows,
    current message in top one, message being sent in bottom one.
See the M-X Set Mail Template command for aid in creating templates.
Runs the Teco program in the variable Babyl M Hook if one.  This
    program can check the variable Current Babyl Template Name, 0 for
    normal mailing, if it wants to further process the template.C Create or reset a mail template from buffer contents.
See the M-X Mail With Template or # Babyl V command for using
    templates.
String argument is a template name.
Providing a numeric argument means that you are resetting an existing
    template, and completion can be used to read the template name (if
    you call this with ^R Instant Extended Command).
The template is taken to be the entire contents of the buffer.  This
    command is generally given while in a recursive mail edit level.
S Edit some mail to send in recursive edit level.
To send the mail, exit the recursive edit level with ^R Exit.
To abort, use Abort Recursive Edit.  If you abort, you can
    continue editing the message later with the C command from Babyl
    or by giving Send Mail an argument.
The ^R Babyl Yank command will insert a copy of the current Babyl
    message if there is one.  (E.g. the one being replied to.)
Paragraph Delimiter is temporarily set so lines starting with "-"
    won't be considered part of a paragraph.  Thus the --Text...  line
    won't get in the way of a ^R Fill Paragraph.
If the variable Babyl Require Subjects is non-0, you will be asked to
    supply a subject line if you forgot to include it while editing.
The variable Babyl Edit Mail Hook may be set to a Teco program to run
    just before entering the recursive edit level.  If this variable
    is 0, we will connect C-M-Y to ^R Babyl Yank, C-M-\ to ^R Fill
    Indented Mail Region, and set the Paragraph Delimiter variable.G^R Yank message being replied to and grow reply window.
Message is indented 4 spaces, and MARK is left before, point after,
    message.
Numeric argument of 4 ():  Message is not indented.
The original header is discarded; only the reformed one is yanked.
Numeric argument of 16 (): Original header is used instead.+^R Calls & Read Line for subject field.^R Calls & Read Line for new To-recipient.
NUMARG of 4 means ^R Babyl Add Cc-Recipient.
Negative NUMARG means ^R Babyl Delete Recipient. ^R Add new name to Cc field."^R Delete To- or Cc-recipient.S NUMARGs: name,fieldName.S NUMARG is recipient name.S Set up *Mail* buffer and window for editing.
Selects back when caller returns.
Non-0 pre-comma numeric argument means use 2-window mode.
Non-0 post-comma numeric argument means reset the buffer (no buffer filenames,
    default filename of *Mail* or MAIL.TEMP, Text Mode._S Push-select buffer STRARG.
When caller returns, the original buffer will be re-selected.3S Mail message as specified by buffer contents.+S Write buffer out to unsent-mail file.4S Make sure From and Date fields are there, etc.ZS Merge, reform and parse.
NUMARG is recipient buffer, pre-comma NUMARG is default host name.
STRARG is field name, without any colon.
Bounds should be set to just the header.
All instances of the field are merged into one, with continuation
    lines.  Some cleaning is done (of whitespace, @s), host name is
    added if necessary, and field is auto-filled.
If variable Babyl Strip Local Host is non-zero, then the local host
    name is removed.
Point is left at the start of the field body.
Recipient buffer has the parse, a pair of lines per recipient:  1st
    line is mailbox name, 2nd line is full (cleaned up) recipient
    specification.  Host names are upper-case since TWENEX mailer
    requires it.0S Append buffer to default file, with header:S Append B,Z to NUMARG file. Returns non0 iff success.#S Create some variables needed._S Expand recipients via mailing lists.
Called in the recipient buffer, performs mailing list expansion of
recipients that are names of mailing lists.  Also returns a value
which is a string with one line for each log file to send to,
containing the name of the file.

The recipient buffer contains two lines for each rcpt, only the first
is used and has user@host.  The mailing list file has a line for each
list, of the form list=user user user *logfile user <crlf>.& SetUp BABYL Library
Babyl
<ENTRY>
Create Babyl File
^R Fill Indented Mail Region
& Estimate Mail-Line Category
Undigestify Babyl Message
& Find Digest Dash Separator
& Babylize Digest Contents
Shorten From Field For Stupid Local Mail Reader
Survey All Messages
Survey Unseen Messages
Survey Deleted Messages
Survey Seen Messages
Survey Unlabeled Messages
Survey Messages Containing String
# Babyl ^C
# Babyl ^Z
# Babyl ^D
# Babyl ^F
# Babyl <Backspace>
# Babyl <Tab>
# Babyl <Linefeed>
# Babyl ^L
# Babyl <Return>
# Babyl ^N
# Babyl ^O
# Babyl ^P
# Babyl ^R
# Babyl ^S
# Babyl ^T
# Babyl ^]
# Babyl ^X
# Babyl <Altmode>
# Babyl <Space>
# Babyl '
# Babyl .
# Babyl ;
# Babyl =
# Babyl <Digit>, <Comma>, +, -, *, /, (, and )
# Argument Part
# Babyl A
# Babyl B
& Babyl Survey Several Messages
& Babyl Survey One Message
& Babyl Resurvey One Message
# Babyl D
# Babyl E
# Babyl F
# Babyl G
# Babyl H
# Babyl I
# Babyl J
# Babyl K
# Babyl L
Label Message
# Babyl N
# Babyl O
& Babyl O Done Hook
# Babyl P
# Babyl Q
& Babyl R Done Hook
# Babyl S
# Babyl R
& Setup Reply Template
# Babyl T
# Babyl U
# Babyl V
# Babyl W
# Babyl X
# Babyl Y
# Babyl Z
# Babyl \
# Babyl ?
# Babyl |
the Babyl Helper
# Babyl <Rubout>
& Babyl Select Message
& Babyl Expunge
& Calculate Message Number
& Push Message
& Bounds Of Header
& Bounds Of Original Header
& Babyl Execute Options
& Babyl Macro Get
& Babyl --MORE--
& Reform Header
& Parse Header
& Form Header
& Read Babyl File
Convert Babyl File Version
& Convert Babyl File Version
& Babylize Buffer
& Initialize Babyl Buffer
& Reset Babyl Options
& ITSify TNX Mail
& Babyl Set Mode Line
& Babyl Get Message Labels
& Get Labels for Survey
Survey Labeled Messages
Label Labeled Messages
Delete Labeled Messages
UnDelete Labeled Messages
Output Labeled Messages
& Label Map Command
& Map Over Labeled Messages
& Label Babyl Message
& Add Basic Label
& Remove Basic Label
& Check Message Label
& Reformed Bit
Remind Me Of This Message
Survey Reminders
Next Labeled Message
& AutoLabel Subject Labels
& Make Babyl Label Table
& Use Babyl Label Table
& Read Babyl Label
& Add to Labels Option
Edit Labels List
Label Messages Containing String
Survey Menu
Survey Mode
^R Survey Menu T
& SvMenu ^RNormal Macro
& Survey-Select Message
& Jump To Current Survey Line
^R SvMenu Argument
& Compressed BABYLM Library
# Babyl C
& Mail Message
# Babyl M
Mail With Template
Set Mail Template
Edit and Mail Buffer
^R Babyl Yank
^R Babyl Add Subject: Field
^R Babyl Add To-Recipient
^R Babyl Add Cc-Recipient
^R Babyl Delete Recipient
& Babyl Add Recipient
& Babyl Delete Recipient
& Push To Edit Mail
& Push To Buffer
& ITS Mail Buffer
& TNX Mail Buffer
& Complete TNX Header
& Process Recipient Field
& Append to TNX Mail File
& Babyl Append
& Setup BABYLM Library
& Expand Mailing Lists
\+8+fq(+4)[2 0[3
< %3,-q2f2u3 q3&1@; q3"l 0' >
f[BBind q3-1*5,q3*5g2 q:..o(0)+q2